0
点赞
收藏
分享

微信扫一扫

【微服】单体、SOA、微服务

舟海君 2022-04-15 阅读 68
微服务

单体架构

将所有的功能都集中在一个模块中(WAR包)开发、部署、迭代,牵一发而动全身,局部低效率拖垮整个服务。

SOA

按服务对项目拆分,通过对外提供接口的方式提供服务,缓解了单体的单服务低效率拖垮整个服务的问题,但往往通过数据库进行数据共享,服务之间会基于数据库耦合。

微服务

独立开发、部署,技术栈独立,数据库独立。服务之间通过统一的HTTP接口调用,或采用Kafka、RabbitMQ等消息队列的方式进行通信,耦合性大大降低。

 

SpringCloud微服务组件

组件功能
Spring Cloud Config 分布式配置中心,负责把配置放到远程服务器上,集中化管理集群配置。
Eureka服务注册发现中心,基于 REST 服务的分布式中间件,主要用于服务管理。
Hystrix熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点 , 从而对延迟和故障提供更强大的容错能力。
Ribbon云端负载均衡器。支持多种负载均衡策略,可配合服务发现和熔断器使用,在客户端实现负载均衡。
Feign一个 REST 客户端,基于 Ribbon 和 Hystrix 的声明式服务调用组件。
Zuul服务网关,为微服务架构集群提供代理、过滤、路由等功能。
Spring Cloud Bus 事件、消息总线,用于在集群(例如配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Spring Cloud Stream数据流操作开发包,可与 Redis、RabbitMQ、Kafka 等架构进行消息发送与接收。
Spring Cloud Sleuth 服务追踪框架,可以与 Zipkin、Apache Htrace 和 ELK 等数据分析、服务跟踪系统进行整合,为跟踪服务、解决问题提供了便利。

SpringCloud架构

 

 SpringCloud与SpringBoot版本兼容

SpringCloudSpringBoot
Greenwich兼容 Spring Boot 2.1.x
Finchley兼容 Spring Boot 2.0.x
Dalston 和 Edgware 兼容 Spring Boot 1.5.x
Camden兼容 Spring Boot 1.4.x
Brixton兼容 Spring Boot 1.3.x
Angel兼容 Spring Boot 1.2.x
举报

相关推荐

0 条评论