CAP理论:
- C: Consistency
- A: Availability
- P: Partition tolerance
Eureka --> AP
Zookeeper --> CP
Consul --> CP
负载均衡的区别
- Ribbon本地负载均衡 or 进程内负载均衡:在调用微服务接口前,会将注册中心里的服务列表信息缓存到本地JVM,从而在本地实现负载均衡,接着使用RPC远程服务调用。即负载均衡在本地实现;
- Nginx服务器负载均衡 or 集中式负载均衡:Nginx通过“反向代理”代理多个服务器,所有客户端请求都会交给Nginx,由Nginx实现负载均衡挑选出某个服务器,接着转发请求。即负载均衡在服务端实现;
- 【注】:集中式负载均衡可以是硬件(如F5) 也可以是软件(如Nginx);
- 负载均衡算法在java中的实现类:
Request的请求流程
负载均衡的使用方法
- RestTemplet + Ribbon
- RestTemplet + 自定义负载均衡
- OpenFeign (自带Ribbon)
- Gateway (自带LoadBalancer)