为什么有SpringCloud
上一篇微服务概述我们讲到将一个web应用经过纵向拆分为若干个小模块,每一个模块都是一个微服务,模块的拆分和服务之间的通信都是问题。这些问题主要集中于没有对整体所有节点(web应用实例,服务器实例)进行监听,监控以及容错的处理。一但后端服务器出现宕机或发生IP地址的迁移,nginx的配置以及管理服务间的通信都会是很棘手的问题,所以这时候SpringCloud的出现就是为了解决这些问题。
什么是SpringCloud
对一系列微服务进行统一的管理,容错,监控,监听的微服务框架。
SpringCloud的优缺点
优点:组件丰富,支持简单的搭建以及代码开发。 缺点:服务治理组件只有eureka。
SpringCloud的组件
代码语言:javascript复制eureka:服务治理组件,通过服务的注册和发现机制提供整体微服务架构中的管理逻辑。
ribbon:通过eurake发现机制,实现负载均衡调用服务的客户端组件
zuul:网关(gateWay)组件,微服务集群唯一对外提供的入口组件
config:大量的微服务系统(SpringBoot SpringCloud),独立开发系统中的application配置文件
交由config配置中心管理,所有的客户端读取公共的配置文件。
feign:和ribbon作用相同,使用场景不同的负载均衡调用的服务组件
hystrix:熔断器:,通过牺牲局部保全全局(断路器,服务降级)