SpringCloud中的组件及其作用
服务注册与发现
注册中心
Eureka (Netflix Eureka)
Zuul
Feign
Hystrix
Config
其他
Nacos、Zookeeper
客户端负载均衡
Netflix Ribbon、SpringCloud LoadBalancer
其中特别是2021,SpringCloud2020版更新加入了LoadBalancer。
服务熔断器(断路器)、降级以及资源隔离
Netflix Hystrix(已经不推荐使用了),Alibaba Sentinel、Resilience4j
后两个是现在最主流的技术选型。
服务网关(微服务的网关)
Netflix Zuul以及SpringCloud Gateway
网关的作用
进行一个统一的管理,比如说用户发来请求先通过网关,然后网关再去Eureka注册中心里找到相应的服务,去进行一些调用。
如果没有网关的话,就会直接返回一个服务,然后再调用一个服务,这样的话,就会很麻烦。
其主要是有一个集合的作用,就是一系列的事务任务什么的都组合在一起。
另外网关它也可以记录一些,比如说有多少个用户来访问这个整体的服务了,然后做一些限流操作或者说一些日志操作什么的。这些操作都可以在网关里执行的。
服务接口调用
Netflix Feign,Resttemplate以及Openfeign
链路追踪
Neflix Sleuth,Skywalking以及Pinpoint
现在用的最多的是Skywalking
聚合Hystrix监控数据(数据监控)
现在已经不是特别常见了。
Netflix Turbine
监控中心
SpringBoot Admin
配置中心
Spring Cloud Config,Apollo以及nacos
在这里重点推荐使用Apollo。