动态负载均衡

ngnix与consul进行关联配置

        我们正常的情况就是,如果需要额外增加一台服务器,则会出现一个情况,就是它需要我们进行重启才能生效; 如果在高峰期的时候去增加以及修改机器的话,默认就是修改配置文件重新加载;

        如果重新加载配置文件会重启worker进程。 1. worker进程重启的过程会等待现有的请求处理完毕(需要一定的时间) 2. 重启的过程中无法 处理请求-可能会造成一定的性能消耗(可能会堆积一些用户的请求无法处理)

解决办法:

consul

client【0】 -》 nginx(upstream xx { 【1】 }) -》consul (【2】)《- 服务(【3】)

【0】:客户端请求nginx

【1】:nginx中通过脚本定期去访问consul获取服务器的信息如ip:port

【2】:如同一个数据库记录服务器的信息

【3】:服务在启动的时候通过put向consul注册自己的信息

        

        Consul是一种开源的服务发现和配置管理工具,它可以自动发现和注册服务,并提供健康检查和动态配置等功能。

        而Nginx是一种高性能的Web服务器和反向代理服务器,它可以通过配置实现负载均衡。

查看原文