spring cloud 微服务架构学习笔记

微服务架构是一种系统设计风格,通过将大型系统拆分为多个小型独立服务进行开发。Spring Cloud提供了一套微服务解决方案,包括服务发现(Eureka)、客户端负载均衡(Ribbon)、断路器(Hystrix)、服务网关(Zuul)和分布式配置(Config)等组件。相较于Dubbo,Spring Cloud更全面,但Dubbo在性能和响应时间上有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是微服务架构

“微服务”一词源于Martin Fowler的名为Microservices的博文。简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成许多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过RPC/RESTFul API进行通信协作。

微服务九大特征

  1. 服务组件化
  2. 按业务组织团队
  3. 做“产品”的态度
  4. 智能端点与哑管道
  5. 去中心化治理
  6. 去中心化管理数据
  7. 基础设施自动化
  8. 容错设计
  9. 演进式设计

Spring Cloud 微服务架构原理

微服务化后,微服务间我们通过 http restful api 通信,问题是调用的服务是一个集群,我们怎么知道应该请求哪一个服务?这里引入Eureka 来解决,微服务将自己的相关信息注册到Eureka Server, 同时又能拿到别的服务的信息,这样本地客户端我们再通过ribbon决策出请求哪一个服务,做负载均衡。然后我们再通过 hystrix 做好熔断,避免个别服务问题导致整个系统雪崩的问题。微服务化后,服务实例变多了,这些实例很多配置都是相同的,这里我们使用 Spring Cloud Config 来统一做配置,避免配置复杂繁琐不一致的问题。以前我们通过nginx这类反向代理软件来做网关路由,这类需要手动的去维护路由规则和可用服务列表,比较麻烦。spring cloud 提供zuul网关来帮我们简化这部分工作,可用的服务列表直接从eureka里取,不需要手动维护了。

 

Spring Cloud 常用组件

 

  1. 服务发现——Netflix Eureka
  2. 客服端负载均衡——Netflix Ribbon
  3. 断路器——Netflix Hystrix
  4. 服务网关——Netflix Zuul
  5. 分布式配置——Spring Cloud Config

 

Spring Cloud vs Dubbo

  1. Spring Cloud是Dubbo的超集,定位为一套完整的微服务解决方案,而Dubbo只是专注于RPC和服务治理。
  2. Dubbo 采用RPC 长链接通信,比Spring Cloud 的http restful 性能要好些,对响应时间要求很高的系统Dubbo有优势
  3. Dubbo 的注册中心依赖 zeekeeper,如果 zeekeeper 出问题就不可用了,而Spring Cloud 的Eureka支持高可用集群
  4. Spring Cloud 基于 Spring Boot ,易用性强于Dubbo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值