SpringCloud的一些个人理解

SpringCloud

一、什么是SpringCloud

SpringCloud是一款微服务框架,其轻量化的集成了需要搭建微服务的各种组件,便于开发者简单化的完成框架的自定义开发。一般java开发使用Springboot完成微服务的开发(ps:说到这里,对于微服务是个什么?不知道大家有没有概念,一开始作者也没什么概念,很模糊。到现在的理解是:微服务指代的就是各位开发者平时开发的一个个Springboot的java服务;那么微服务架构,即SpringCloud,就是把这些服务组织在一起的一种架构模式,使这些服务可以互相通信,多节点集群式部署。)

二、SpringCloud是由那些部分组成【ps:后面的英文名称是这些组成部分的主流工具名称】

1、网关服务GateWay:用做服务请求的用户鉴权、动态路由、灰度发布、负载限流等功能
2、注册中心Eureka:主要负责服务发现、服务注册的功能
3、配置中心Apollo:对各个微服务的配置进行统一管理、同步,实现一处修改,处处修改
4、负载均衡Ribbon:单个服务的多节点部署,即使出现单个服务网络不通等情况也可以调用其他的服务
5、服务容错Hystrix:通过提前预备解决方案,在服务出现调不通或者调用异常的情况下能快速响应
6、集群服务监控Dashborad:集群服务监控的UI
7、消息总线Bus:配合Config仓库修改的一种Stream实现。
8、消息驱动Stream:有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。是为了简化研发人员对MQ使用的复杂度,弱化MQ的差异性,达到程序和MQ松耦合。
9、链路追踪Sleuth:分布式服务追踪,用来解决请求的链路追踪

三、SpringCloud是如何组织上面的组成部分来实现微服务框架的种种功能的

  • 在每个微服务启动的时候,配置通过配置中心Apollo进行分发,主动注册到注册中心
  • 我们的各个微服务通过注册中心eureka进行服务注册、发现
  • 然后发送的请求进进过网关GateWay分发到不同的微服务中
  • 微服务之间通过Fegin互相调用,Fegin可以提供负载均衡及服务容错的能力
  • 请求调用结束,通过网关将请求结果返回给调用端
    这是一个最简单的实现部分

四、应该怎样搭建、实现SpringCloud

这里我不做具体的实现,只说一个实现的思路
1、服务网关:我们使用GateWay,需要开发一个新的项目,作为网关服务,剩下的就是自己的定制化开发了。
2、注册中心:Eureka也需要开发一个新项目,在pom中引入Eureka的Service,使其成为注册中心,注册中心也可以是集群模式,具体的开发自行百度,很简单。
3、配置中心:Apollo或者nacos都可以直接下载安装包,按下载时候提供的安装部署文档部署即可。

上面是三个是最核心的东西,完成之后,就是对微服务的服务进行开发了,无非是SpringCloud中的一些功能,如果我们需要使用的时候,引入对应的包使用即可。还有一部分辅助性的功能,我也一并说一下

4、Fegin:fegin对于负载均衡、服务容错已经完成了集成,正常使用即可
5、Dashborad:是一个服务监控的UI,创建一个新项目,pom中引入对应的jar,启动类加几个注解即可
6、Sleuth:在需要做链路追踪的服务的pom中引入包即可,具体使用自行搜索。也可以通过Zipkin来进行可视化管理追踪

以上就是个人对于SpringCloud的一些理解,其中或有问题还请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值