Consul + Nginx + Upsync (新浪)实现动态负载均衡

nginx动态同步配置模块nginx-upsync-module nginx一般直接在配置文件里配置upstream即可实现负载均衡,但有些特定的环境下此种方式就显得有些局限性。比如后台动态调整节点的时候;调整节点后不想修改配置文件重启nginx。可以将配置文件从nginx本地迁移到其他第三方服务上如etcd、consul上,然后通过nginx-upsync-module模块实时同步到配置文件中,实现上下线节点动态同步到upstream配置中,再结合ngx_healthcheck_module实现后端健康检测。 阅读详情

【实现原理】

    1.搭建ConsulServer 专门存放负载均衡注册配置信息

    2.nginx 间隔时间动态获取最新的ConsulServer配置信息

     

【实现方式工作】

             Zookeeper、 Consul、 Eureka

【传统方式弊端】

            如果upstream需要扩张新的服务器,必须要重启nginx服务器才能 获取都最新的配置,无需reload 动态负载均衡 。

【实现步骤】

          1.Consul  环境搭建

           wget  https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip

         2.解压 consul_0.7.5_linux_amd64.zip

         3. unzip  consul_0.7.5_linux_amd64.zip

         4.  systemctl  stop   firewalld

        5.   ./consul    agent   -dev  -ui    -node=consul-dev   -client= 172.30.191.67  

        6.   172.30.191.67:8500   

       7.    使用PostMan 注册Http服务

                  http://172.30.191.67:8500/v1/kv/upstreams/fl/192.168.212.1:8081

       8.  安装nginx-upsync-module

                wget   https://github.com/weibocom/nginx-upsync-module/archive/master.zip   

                 作用 :nginx 动态获取最新 upstream

 备注 :1. wget  http://nginx.org/download/nginx-1.9.10.tar.gz

             2. 教程地址 : 06第六节-高性能Nginx服务器-安装Nginx_哔哩哔哩_bilibili

      nginx-upsync-module 简介  

          Upsync 是新浪微博开源的基于Nginx 实现动态配置的三方模块。Nginx-Upsync-Module的功能是拉取Consul的后端serber的列表,并动态更新Nginx的路由信息。并且动态更新Nginx的路由信息,此模块不依赖于任何第三方模块。Consul作为Nginx的DB,利用Consul的kv服务,每个Nginx Work 进程独立的去拉取各个upstream的配置,更新各自的路由。

使用nginx和nginx-upsync-module实现负载均衡和自定义验证 NGINX是一个功能强大的开源Web服务器和反向代理服务器,它可以通过使用nginx-upsync-module模块来实现动态负载均衡和自定义验证。使用NGINX和nginx-upsync-module,您可以实现动态负载均衡和自定义验证。请注意,在实际部署中,您可能需要根据自己的需求对NGINX和nginx-upsync-module进行更详细的配置。在安装和编译完NGINX和nginx-upsync-module后,我们需要配置NGINX以实现动态负载均衡。在这个示例中,我们检查请求头中的。 阅读详情

相关推荐

5.FxBlue跟单常见问题

fxblue喊单ea和fxblue跟单会在mt4/mt5客户端ea栏目里记录fxblue在跟单复制订单过程中的全面记录。在遇到问题时,我们首先要恢复默认参数尝试,然后再到ea栏找报错提示。 ​ 需要注意的是,是EA选项卡,而不是日志选项卡。 此外,您可以在 MT4/5 软件终端面板的"EA"选项卡中查看跟单记录,您可以通过右键单击 Experts 日志并从 MT4/5 的弹出菜单中选择“打开”来打开每日日志文件以及历史文件。 5.1 No “heartbeat” received 没有收到“心跳” 接收方

weixin_44406393的博客 1874

使用Consul配合Nginx实现动态负载均衡

1、Nginx加载配置文件nginx.conf2、从consul中获取动态配置,生成一个动态负载均衡配置文件swoft_server.conf;3、Nginx使用该动态负载均衡配置文件,得到多个可用服务IP及端口号4、Nginx开始负载均衡注意看第三段”配置Nginx配置文件nginx.conf“即可大致分析出来动态负载均衡的实现原理。这里还没有对nginx服务做健康检查,因此使用curl或consul前端页面推送或删除的结果就直接决定配置文件生成的结果。......

大海技术博客 3388

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1776

linux下实现Nginx + consul + upsync 完成动态负载均衡

client:提供HTTP、DNS、RPC等服务,默认是127.0.0.1,不对外提供服务,如果需要则改成0.0.0.0。–bootstrap-expect 期望的server节点数目,consul一直等到指定sever数目才会引导整个集群。–bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0。–ui: web的管理ui,查看服务和节点,可以通过访问:8500端口要访问UI。–node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名。

2160

使用CubeMX生成的项目在Keil下添加DSP库并包含arm_math头文件后报错的解决办法

问题描述: 最近使用Cube生成工程后,在Keil中使用Manage Runtime Environment即绿色小饼干按钮添加CMSIS的DSP库后编译报错。很有意思的是,STM32论坛上有外国朋友报告的同样的错误,都是30个Errors,5个Warning。 问题分析: 参考国内论坛某帖子(具体想不起来了),认为因该是Cube复制了库后,Keil从原始Packs目录下引用DSP库导致和Cub...

qq_32256951的博客 7001

如何制作Mike21溢油模型围油栏文件

这段时间群友在做海洋环评的做了一个MIKE21的溢油模型,溢油模型其实也是ECOLAB模块的应用,而在海上发生溢油事件的时候,为防止溢油对海洋生态的破坏,经常使用的一种手段就是使用围油栏技术将溢油控制在一定范围并进行处理。今天小编就给大家说说在MIKE21里怎么实现围油栏文件的制作

zhuzhujiayoua的博客 1330

Nginx 结合 consul 实现动态负载均衡

nginx-upsync-module 提供了动态的负载均衡,动态更新上游的服务器不需要 reload nginx ,它的功能是拉取 consul 的后端 server 的列表,并更新Nginx 的路由信息。此模块不依赖于任何第三方模块。 consul 作为 Nginx 的 db,利用 consul 的 KV 服务,每个 Nginx work 进程独立的去拉取各个upstream 的配置,并更新各自的路由。挂了第三方模块无法结束进程或者是当前进程尚未结束

jc2255的博客 1894

【backtrader保姆级教学】投资组合回测

method1:探索投资组合的最有方案,使用蒙特卡洛模拟Markowitz模型。# 提取最小波动组合对应的权重, 并转换成Numpy数组。# 绘制收益-标准差的散点图,并用颜色描绘夏普比率。# 在收益-风险散点图中突出风险最小的点。:param any_day: 任意日期。# 将该点坐标显示在图中并保留四位小数。password = “替换密码”# 找到标准差最小数据的索引值。user = “替换账号”# 计算GMV投资组合收益。# 计算每项资产的夏普比率。# 设置无风险回报率为0。

weixin_38132951的博客 2315

nginx-upsync-module安装(2)

nginx-upsync-module安装

ls_call520的专栏 223

从原理到实践:手把手教你用XY2-100协议控制激光振镜(含引脚定义图)

本文详细解析了XY2-100协议在激光振镜控制中的应用,从硬件接口定义到时序分析,再到Verilog硬件逻辑实现,提供了完整的开发指南。通过实际案例和优化策略,帮助开发者快速掌握高精度激光振镜控制技术,提升加工质量和效率。

weixin_30505225的博客 403

产品经理必备知识——API接口

在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如果你选择允许,app就会根据你的当前位置为你提供更加个性化的一些服务,当然也有一些app拿到你的位置信息做出损害用户利益的行为,所以还是需要谨慎授权。首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。通过发送请求和响应消息的方式实现程序间的通信。

WBKJ_Noah_的博客 3455

nginx-upsync-module安装

nginx-upsync-module安装 1、安装nginx-upsync-module wget https://github.com/weibocom/nginx-upsync-module/archive/master.zip 作用:nginx动态获取最新upstream信息 2、解压安装 unzip master.zip nginx-u...

art_code的博客 501

YOLOv8【第九章:模型部署篇·第2节】一文搞懂,模型剪枝与压缩技术!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1527

nginx系列之八:使用upsync模块实现负载均衡

一、nginx reload的问题 问题描述 nginx reload是有一定损耗的,如果你使用的是长连接的话,那么当reload nginx时长连接所有的worker进程会进行优雅退出,并当该worker进程上的所有连接都释放时,进程才真正退出。 解决办法 对于社区版nginx目前有三个选择方式: Tengine 的Dyups模块。 微博的Upsync+Consul 实现动态负载均衡。 Ope...

王道长的技术博客 4441

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

基于Consul,Nginx-UpSync动态负载均衡

基于Consul,Nginx-UpSync动态负载均衡 1 . nginx reload的问题 问题描述 nginx reload是有一定损耗的,如果你使用的是长连接的话,那么当reload nginx时长连接所有的worker进程会进行优雅退出,并当该worker进程上的所有连接都释放时,进程才真正退出。 对于社区版nginx目前有三个选择方式: Tengine 的Dyups模块。 微博的Upsync+Consul 实现动态负载均衡。 OpenResty的balancer_by_lua(又拍云使用其开源

Dear_xq 的博客 1697

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Nginx动态配置负载均衡(Consul+upsync+Nginx)

1.常用的动态配置Nginx负载均衡方式 Consul+Consul-template 每次发现配置更改,重启Nginx。 Consul+OpenResty 实现无需重启Nginx的动态负载均衡。 Consul+upsync+Nginx 实现无需重启Nginx的动态负载均衡。 2、配置Concul服务器 2.1安装解压ZIP软件 如果未安装 unzip软件,在解压ZIP包的时候会提示未找...

伊格尼斯 1870

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布

前提前段时间顺利地把整个服务集群和中间件全部从UCloud迁移到阿里云,笔者担任了架构和半个运维的角色。这里详细记录一下通过Nginx、Consul、Upsync实现动态负载均衡和服务平...

Throwable 3587

nginx+upsync+consul 构建动态nginx配置系统

参考: http://www.php230.com/weixin1456193048.html  【upsync模块说明、性能评测】 https://www.jianshu.com/p/76352efc5657 https://www.jianshu.com/p/c3fe55e6a5f2   说明: 动态nginx负载均衡的配置,可以通过Consul+Consul-template方式...

幽雨雨幽 2863

nginx+consul+upsync实现动态负载均衡

一:下载nginx和upsync,并编译nginx(添加upsync模块) 1.安装所需依赖: //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2. 切换到安装目录: cd /usr/local 3.下载nginx安装包: wget http://nginx.org/d...

风起尘落的博客 578

nginx+consul+upsync 实现动态负载均衡

consul命令 描述 agent 运行一个consul agent members 列出consul cluster集群中的members join 将agent加入到consul集群 leave 将节点移除所在的集群

weixin_54931703的博客 3687

Nginx + consul + upsync 完成动态负载均衡

Nginx服务器实现高可用前置知识DNS域名解析过程外网映射 前置知识 DNS域名解析过程 在浏览器输入域名,访问后 在浏览器缓存中查找是否有对应的ip和端口,如果有直接访问对应ip和端口 浏览器缓存中没有则在本地host文件中查找是否有对应的~~ 本地host文件中没有则去DSN服务器上查找 外网映射 顾名思义,就是将本地的ip地址,映射出一个公网ip,可以供所有主机(连接到互联网的计算机)访问 疑问:为什么需要使用外网映射 例如做微信支付时的第三方接口回调,微信回调你的接口必须是一个公网ip地址,

love_hui_qiu的博客 787

Nginx+Consul+upsync 实现动态负载均衡

Nginx+Consul+upsync 实现动态负载均衡 1.原理图 2.原理 2.1 consulServer专门存放负载均衡注册配置信息。 2.2 Ngninx间隔读取ConsulServer的配置信息,获取最新配置。(通过upsync) 3. 步骤 3.1 搭建Consul (1)下载 wget https://releases.hashicorp.com/consul/0.7...

流离岁月的博客 507

【Nginx】基于Consul+Upsync+Nginx实现动态负载均衡

一、Http动态负载均衡 什么是动态负载均衡 动态负载均衡实现方案 常用服务器注册与发现框架 二、Consul快速入门 Consul环境搭建 三、nginx-upsync-module nginx-upsync-module简介 nginx-upsync-module安装及配置整个流程 一、Http动态负载均衡 什么是动态负载均衡...

diaolin2115的博客 353

Nginx教程 6.Nginx整合Consul+upsync实现动态配置

前言 平时修改nginx配置文件需要重启,这样会影响到用户体验,Nginx有以下几种方案实现动态配置: Consul+OpenResty、Consul+upsync Consul 简介 Consul开源的分布式服务注册与发现系统,通过HTTP API可以使得服务注册、发现实现起来非常简单。 Centos7安装Consul 下载地址:https://releases.hashicorp.com/consul/ 1.命令行下载 wget https://releases.hashicorp.com/consul

terrybg 1万+

基于Consul+Upsync+Nginx实现动态负载均衡

Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/src wget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consul_0.7.5_linux_amd64.zip 需要先确认是否安装...

houxian1103的博客 496

Consul+upsync+Nginx动态配置负载均衡

一、简介 Consul+upsync+Nginx 实现无需重启Nginx的动态负载均衡 各组件作用: Consul Web:Consul的客户端可视化界面,管理负载均衡配置的信息 Consul Server:Consul服务端,用于存放负载均衡配置 Nginx:以间隔时间动态读取ConsulServer配置 Upsync:新浪微博开源的基于Nginx实现动态配置的三方模块。Nginx-Upsync-Module的功能是拉取Consul的后端server的列表,并动态更新Nginx的路由信息。此模块不依赖于任

w864518106的博客 549
java_administratot
博客等级 码龄12年 6粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值