1.SpringCloud架构

  • 说起SpringCloud不得不先说起SpringBoot微服务应用,SpringBoot 项目的快速构建,对主流开发框架的无配置集成, 极大提高了开发者的效率, 于是分布式框架应用SpringCloud 在SpringBoot的基础上应运而生.
  • 早期的分布式框架应用是由阿里的Dubbo分布式框架+Zookeeper 作为注册中心,其优点是Zookeeper本质就是存储节点+事件监听。 分布式应用可以通过订阅节点事件来实时更新服务节点信息,SpringCloud是通过线程定时心跳机制检测节点的存活状态, SpringCloud相对于Dubbo是一种更主流的分布式应用框架.

2.SpringCloud组件

     

cloud foundry 架构 cloud框架_Cloud

 

 

     

  • 服务注册与服务发现: SpringCloud是一种标准,其中有两个概念就是服务注册与服务发现,SpringCloud第一代是由Netflix公司研发的 spring-cloud-eureka-client组件, 通过服务配置自动注册节点信息到服务中心。SpringCloud第二代则是 SpringCloudAliBaBa 研发的Nacos.
  • 负载均衡 + 熔断 : 分布式应用架构的一个好处就是可以支持多节点集群部署,所以也就是说 分布式一定是集群,但集群不一定是分布式,SpringCloud-Netflix使用ribbon+restTemple 来配置负载均衡,并且支持一些负载均衡策略如轮询,权重,地区等. 后来出现了 openfeign 作为负载均衡组件,openfeign=restTemple+Ribbon+Hystrix(服务熔断). 服务之间的调用可能会出现一些超时请求,Hystrix 是由Netflflix开源的⼀个延迟和容错库,⽤于隔离访问远程系统、服务或者第三⽅库,防⽌级联失败,从⽽提升系统的可⽤性与容错性.
  • 服务网关(待补充)
  • 消息总线(待补充)

他说你任何为人称道的美丽,不及我第一遇见你