1.Eureka :负责服务的注册与发现;主要分为eurekaServer(服务端) 和 eurekaClient(客户端)。
- eurekaServer 里面注册中心主要保存各个服务所在的机器和端口号。
- eurekaClient 负责将服务注册到eurekaServer中并且发现服务。
工作原理:在启动应用之后,eureka客户端会向服务端注册自己的服务,同时服务端的信息会缓存到本地,客户端会向服务端周期性的心跳交互更新服务信息。
2.ribbon 主要做负载均衡的作用,它是基于http协议和tcp协议的客户端负载均衡。
3.feign 整合和ribbon的.feign主要是进行远程调用,通过@FeginClient的注解,进行动态代理
4.Hystrix 一个系统会有多个服务,服务之间相互调用不做任何保护就会导致服务雪崩,Hystrix是隔离,熔断以及降级的一个框架
- 在某个服务挂掉之后,Hystrix会熔断这个服务,直接返回.(降级:在这个服务熔断之后,记录这期间服务请求的信息,以便后期维护)
5.zuul 网关还可以做统一的服务降级,限流,认证权限安全等等