Consul自动负载均衡

本文介绍了动态负载均衡的实现方案,重点讲解了使用Nginx结合Consul来实现动态配置,避免了传统方式需要重启Nginx的弊端。通过Consul的服务注册与发现功能,可以动态管理upstream配置,实现服务的灵活扩展。实验中,通过添加和删除服务节点,展示了Consul API如何动态更新Nginx配置,整个过程无需手动reload或重启Nginx。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态负载均衡有哪些实现方案?
何谓动态: (增加节点 调整权重 修改配置文件)
属于架构的知识: 传统的配置都放在项目中, 这样的化就有弊端(如果生产环境中发现配置文件配置有误), 重新修改项目配置文件, 重新打包
分布式领域: 分布式配置中心(配置统一管理) 扩展性及高
动态化: 可变化 灵活 Dubbo
2. 动态负载均衡 大型互联网公司中(动态配置), 如果需要频繁的发布版本, 提高扩展性 传统方式的Nginx配置负载均衡upstream扩展新的节点 要重启nginx服务器才能获取到最新的配置, 所以存不存在这样的一种方式, 在不重启nginx的前提下, 修改了upstream配置, 能实现动态获取nginx_upstream配置

upstream wwwbackend {
server 10.15.200.101:80 weight=1;
server 10.15.200.102:80 weight=1;
server 10.15.200.103:80 weight=1 backup;
}

server {
server_name www.example.cn;
access_log /dev/shm/www.example.cn.access.log main;
error_log /dev/shm/www.example.cn.error.log;
location / {
proxy_pass http://wwwbackend;
}
}

  1. 一台服务器专门的存放动态upstream配置服务器
  2. 可配置化: 灵活的扩展( 不要写死 ) 分布化配置中心 设置jdbc懒加载

一般常见如下三种方式:
1. Consul+Consl-template: 需要reload
2. Consul+OpenResty: 无需reload
3. Consul+UpSync: 无需reload

Nginx+Consul+UpSync: 实现动态负载均衡

实验思路:
每个知识点 哪个环节 及 其作用

Nginx: 反向代理和负载均衡
Consul: 实现分布式服务注册与发现功能(go)
UpSync:

微服务:
1)服务注册与发现应用场景: 微服务rpc远程调用(对服务实现服务治理(注册中心))
会员项目: 10.15.200.101
IP地址+端口号 (http://10.15.200.102:8081)
订单项目: 10.15.200.102:8081

注册中心: 专门存和IP地址和端口号

会员项目: vip.example.cn
    IP地址+端口号 (http://order.example.cn)
订单项目: order.example.cn

SpringCloud: 支持zookeeper Eureka Cons

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值