问题1:Nacos 和 Eureka的区别?
问题2:Nacos 和 Zookeeper 的区别?
1、注册中心:实际就是存放服务的地址信息,能够实现动态感知。常见的是Zookeeper、Eureka、Consul、Nacos、Redis等。
实现原理:
被调服务(生产者)在项目启动的时候主动将信息(服务名称,地址等)注册到注册中心;
主调服务(消费者)从注册中心获取被调服务的信息;
主调服务对被调服务进行负载均衡,选择一个地址在本地进行接口调用。
2、负载均衡器
本地负载均衡器
我们的消费者从注册中心上获取接口调用地址列表,在本地实现负载均衡算法(轮询、随机、hash一致性、权重)等原理。总结:获取接口地址列表,采用算法选择一个接口地址实现本地的rpc 远程调用。
常见的本地负载均衡器:ribbon(spring cloud 第一代)、loadbalancer(spring cloud 第二代)
本地实现负载均衡器 与 Nginx 实现负载均衡的区别
- Nginx 属于服务器端负载均衡器,客户端所有的请求都统一发送到Nginx,再由Nginx转发到真实服务,以达到负载均衡的目的;