1.Eureka
Eureka为springcloud的各个微服务提供了注册发现(EurekaDiscover)服务,但是eureka集群的各个节点都是平等的,任何一个节点挂掉之后,只要还有存活的eureka,zokeerper集群的话,有一个主节点,主节点挂掉之后,其他节点会再选出来一个leader节点,eureka遵循CAP定律的AP原则,保证了可用性和分区容错性,zokeerper因为主节点的作用,保证了CP原则,保证了强一致性和分区容错性。
2.ribbon
ribbon是客户端的负载均衡,其默认的负载均衡机制是轮询机制,他提供了7中算法负责负载均衡,我们可以使用它自己本身的负载均衡算法,也可以自定义负载均衡算法。
@Configuration
@RibbonClient(name = "service-provider-user", configuration = RibbonConfiguration.class)
public class TestConfiguration {
}
需要在application主启动类上添加注解,然后注意,该类不能在application朱启动类包下,因为@SpringbootApplication包含了有compent
3.hystrix为springcloud分布式项目提供了熔断降级机制
4.zuul提供了网关服务,可以隐藏真实的服务名,微服务之间,可以通过网关方式调用。
5.configua配置中心服务,可以在动态git上提供配置,在项目启动时,项目会到git地址上读取配置,可以是dev环境,测试环境,开发环境。修改配置后,只需要重启服务,项目就会动态读取修改的配置。