上一篇 <<<Nginx导致图片下载失败的原因分析
下一篇 >>>Nginx+Lvs+keepAlived实现高可用
1.什么是动态负载均衡
传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf。
这类似分布式的配置中心
2.动态负载均衡的实现方案
a.Consul+Consul-template 每次发现配置更改需要raload nginx,重启Nginx。
b.Consul+OpenResty 实现无需raload动态负载均衡
c.Consul+upsync+Nginx 实现无需raload动态负载均衡
3.Consul+upSync+Nginx实现动态负载均衡注意点
a、安装Consul,用于服务的注册与发现,可存在K/V,V可以为List集合
b、Upsync是新浪微博开源的基于Nginx实现动态配置的三方模块,为nginx安装nginx-upsync-module模块
c、Nginx必须是1.9及以上的版本,在Nginx中配置upsync模块,动态读取consul里的服务地址。
4.核心配置
##动态去consul 获取注册的真实反向代理地址
upstream jarye{
server 127.0.0.1:11111;
upsync 192.168.212.134:8500/v1/kv/upstreams/jarye upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;
upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://jarye;
index index.html index.htm;
}
}
推荐阅读:
<<<DNS域名解析过程
<<<初识Nginx与负载均衡
<<<Nginx使用场景之静态服务器
<<<Nginx使用场景之虚拟主机(动静分离)
<<<Nginx使用场景之反向代理
<<<Nginx使用场景之负载均衡和故障转移(主从)
<<<Nginx使用场景之跨域解决
<<<Nginx使用场景之资源压缩
<<<Nginx使用场景之数据缓存
<<<前后端分离场景通过Nginx调试本地后端接口
<<<Nginx Location指令详解
<<<Nginx全局变量
<<<Nginx导致图片下载失败的原因分析
<<<Nginx+Lvs+keepAlived实现高可用
<<<Linux环境安装Nginx
<<<Linux环境安装keepAlived
<<<Keepalived虚拟vip功能
<<<Nginx安全防护汇总(转)