全家桶
因为他提供了一整套分布式的解决方案,包括但不限认证,通信,路由,注册中心,熔断等
而且组件都支持多种实现方式,比如注册中心可以使用eureka,也可以使用consul,zk等
为何有多种实现方式?
eureka 已经能够使用了,为什么还要支持consul呢?
因为每种组件都有它特有的使用场景或者实现缺陷。
比如eureka,它是满足CAP理论中的AP. (具体CAP 查询相关的文档进行理解)
而ZK 和 consul 是实现CP的。
简单解释下:C 数据一致性,A:可用,P 分区容错性。
哪些组件我们不怎么用?
配置中心,在我了解到的公司里面,很少有使用SC的配置方式的
那么怎么选择组件,或者他的替代品
注册中心,eureka/consul 都可以
配置中心:Apollo/consul(也支持数据配置)/disconf(disconf基于ZK的watch机制动态刷新配置文件)
熔断:hystrix即可
网关:gateway(zuul也可以使用,但性能gateway更优)
通信:feign(feign.hystrix需要指定开启)