Loading

SpringCloud微服务

组件

img

基本组件

  1. 服务集群:将系统中的不同业务拆分成微服务,微服务之间会相互调用
  2. 注册中心:管理每一个微服务的通信地址,允许动态上线和下线服务
  3. 配置中心:集中管理整个系统中的所有配置
  4. 服务网关:整个系统对用户的门面,对用户隐藏微服务架构,负责请求路由和负载均衡

其它组件

  1. 消息队列:提供微服务间的异步调用,提高系统响应速度和吞吐量
  2. 分布式缓存:对数据库系统中的信息进行缓存
  3. 分布式搜索:搜索引擎,用来实现一些全文搜索功能
  4. 系统监控链路追踪/分布式日志服务:对系统的运行进行监控

持续集成

  • 指对微服务进行打包,上线的自动化部署技术,使用到的技术有Jenkinskubernetesdockerrancher

微服务架构特征

img

常见微服务技术之间的关系

img

Dubbo

Dubbo是微服务技术刚刚兴起时,阿里开源的一套微服务解决方案。但它们只开源了部分内容,所以只能基于一些其它的开源方案来实现注册中心,并且它的远程调用采用Dubbo自己的协议。

  1. 无配套的注册中心解决方案
  2. 远程调用采用Dubbo协议,需要遵循Dubbo的规范编写

SpringCloud

针对市面上常见的微服务组件进行整合,提供完善的微服务解决方案。

  1. 各类组件齐全,完善
  2. 经过Spring整合之后,各类组件被自动配置,且相互兼容,使用简单
  3. 采用Feign远程调用,使用简单的http协议

SpringCloudAlibaba

是阿里将自己的分布式服务组件整合到SpringCloud技术中,这样,就可以很方便的使用SpringCloud中原有的组件进行开发

  1. 具有SpringCloud的全部优点
  2. 支持Dubbo和Feign两种远程调用方式
  3. 提供自己的新的注册中心和服务监控(Nacos、Sentinel)

SpringBoot与SpringCloud对应版本

img

微服务拆分

  1. 保证微服务间没有重复业务,每个微服务提供最小的业务
  2. 数据独立,每个微服务维护自己的数据库且不访问其它微服务的数据库
  3. 将自己的业务暴露为接口,供其他微服务调用
posted @ 2022-08-05 11:09  yudoge  阅读(27)  评论(0编辑  收藏  举报