5.1、简介
集群服务中的节点ip不会永远不变,如果变化了怎么办?1台机器处理不过来,扩容了3台,如何让新增的3台快速投入使用,流量如何很快的流入新增的机器。集群中出现有问题的机器,如何下线呢?解决这些问题需要引入一个新的概念,服务发现
服务发现需要解决以下问题:
- 服务IP与端口的确定方式。
- 服务注册与发现。
- 服务下线
- 服务健康监测。
- 节点加入或退出,如何通知订阅者变化。
- 查看应用的订阅列表,发布列表,以及订阅节点。
当A节点访问B集群的机器,这次访问究竟应该访问哪个节点?基于什么策略如何确定的?这又涉及到另一个概念,负载均衡,它是提供高可用服务的关键基础组件,核心作用就是将大量请求以合理的方式分配到多个执行单元上去执行,达到最优化的资源使用方式,避免多个单元同时发生过载。
比如我们从注册中心查询到10个可用节点,通过负载均衡器,可以将我们的10个请求,以一种策略打散到不同的可执行节点上,保障可用性。
关于基于etcd的服务发现与负载均衡算法可以先了解下。