详见的负载方案:
1. 集中式负载均衡方案
通过软负载(nginx,Apache),硬负载(F5),这种方案常见于中小型企业,所有服务通过Nginx将请求分配到业务服务器上,注意点:要保证nginx的高可用。
2. 客户端负载均衡方案
提供服务注册发现机制,服务启动将ip,port等信息注册到注册中心,客户端/消费者从注册中心获取服务列表,然后根据自定义的负载策略进行服务路由,注意点:客户端需要根据自身技术栈进行实现,并且与客户端强绑定。
3. 客户端主机独立负载均衡方案
与第二种方案相比,将负载均衡方案独立出来,此时负载均衡可以为自定义也可以是nginx,相对比较独立,方案缺点:部署相对负载,出现问题定位问题麻烦,毕竟多了几道工序。
个人根据自身实际情况的一些想法:
1. 由于个人业务是不存在服务注册发现的功能,所以第一个增加服务注册发现功能
2. 将注册中心与nginx负载均衡关联,实现nginx动态负载
3. 增加故障检测,并与监控关联起来,当服务故障时通过监控及时告知相关人员解决
4. 当服务出现故障时,我们需要对服务进行熔断处理,因为可能中间某一个服务故障会可能会导致整个服务延迟,甚至整个服务不可用,若服务在一台机器上也可能出现服务雪崩的情况,所以个人准备增加服务熔断降级机制。
5. 如果服务请求量较大考虑是否增加限流的功能