动态负载均衡(Nginx+Consul+UpSync)环境搭建

Consul+upsync+Nginx动态配置负载均衡.pdf Consul+upsync+Nginx 实现无需重启Nginx的动态负载均衡 立即下载

动态负载均衡(Nginx+Consul+UpSync)环境搭建

首先 安装好 Consul upsync

然后:

 1、配置安装Nginx

 需要做配置,包括分组之类的,创建目录,有些插件是需要存放在这些目录的 

groupadd nginx

useradd -g nginx -s /sbin/nologin nginx

mkdir -p /var/tmp/nginx/client/

mkdir -p /usr/local/nginx 

 

2、编译Nginx

    cd  /home/nginx/nginx-1.9.0 

./configure   --prefix=/usr/local/nginx   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module   --with-http_stub_status_module   --with-http_gzip_static_module   --with-http_realip_module   --http-client-body-temp-path=/var/tmp/nginx/client/   --http-proxy-temp-path=/var/tmp/nginx/proxy/   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi   --http-scgi-temp-path=/var/tmp/nginx/scgi   --with-pcre --add-module=/home/upsync/nginx-upsync-module-master

   

解读:

 

 

 

注意,如果出现这个错误:

解决办法

yum -y install openssl openssl-devel

 

最后: make && make install

 

 


 

下面开始配置Nginx了

 Upstream(上游服务器) 动态配置

##动态去consul 获取注册的真实反向代理地址

upstream toov5{

#自己虚拟出的 作为监听用的 端口号 固定死的
server 127.0.0.1:11111;

#连接consul server动态获取upstream配置负载均衡信息 间隔0.5秒读取一次  使用192.168.212.134:8500 原生的 他自己虚拟出来的 不要乱改!  读取的是toov5 这个分组的!!!
upsync 192.168.91.5:8500/v1/kv/upstreams/toov5 upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;

#动态拉取consulServer相关负载均衡配置信息持久化到硬盘上
upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;
}
server {
listen 80;
server_name localhost;
location / {

#配置反向代理
proxy_pass http://toov5;
index index.html index.htm;

}

}

 

解读:

upsync指令指定从consul哪个路径拉取上游服务器配置;upsync_timeout配置从consul拉取上游服务器配置的超时时间;upsync_interval配置从consul拉取上游服务器配置的间隔时间;upsync_type指定使用consul配置服务器;strong_dependency配置nginx在启动时是否强制依赖配置服务器,如果配置为on,则拉取配置失败时nginx启动同样失败。upsync_dump_path指定从consul拉取的上游服务器后持久化到的位置,这样即使consul服务器出问题了,本地还有一个备份。

注意:替换 consul 注册中心地址

创建upsync_dump_path

mkdir /usr/local/nginx/conf/servers/

upsync_dump_path指定从consul拉取的上游服务器后持久化到的位置,这样即使consul服务器出问题了,本地还有一个备份。

 

配置时候的状态:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

##动态去consul 获取注册的真实反向代理地址

upstream toov5{

#自己虚拟出的 作为监听用的 端口号 固定死的
server 127.0.0.1:11111;

#连接consul server动态获取upstream配置负载均衡信息 间隔0.5秒读取一次 
upsync 192.168.91.5:8500/v1/kv/upstreams/toov5 upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;

#动态拉取consulServer相关负载均衡配置信息持久化到硬盘上
upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;
}


server {
listen 80;
server_name localhost;


location / {
#配置反向代理
proxy_pass http://toov5;
index index.html index.htm;

}

}





#    server {
#        listen       80;
#        server_name  localhost;

#        #charset koi8-r;

#        #access_log  logs/host.access.log  main;

#        location / {
#            root   html;
#            index  index.html index.htm;
#        }
#
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
#        error_page   500 502 503 504  /50x.html;
#        location = /50x.html {
#            root   html;
#        }
#
#    }



}

  

  

 

然后启动consul :  ./consul agent -dev -ui -node=consul-dev -client=192.168.91.5 

启动 Nginx    ./nginx

 

本地启动三台:8080 8081 8082

 

 然后开始做动态负载均衡了!添加nginx  Upstream服务开始:

1.使用linux命令方式发送put请求  添加这个 192.168.8.159:8081 到上游服务

curl -X PUT http://192.168.91.5:8500/v1/kv/upstreams/toov5/192.168.8.159:80812\

2、 使用postman方式

 

 

 然后图形化界面:

 

 

访问:

看看Nginx的本地:

成功了哦

 

 配置权重:

{"weight":2, "max_fails":2, "fail_timeout":10, "down":0}

   

他可以实现轮训,故障转移哦。默认的~ 

 看这里:

被同步过来了额

 

 

基于STM32的智能鱼缸设计 为了缓解学习、生活、工作带来的压力,提升生活品质,许多人喜欢在家中、办公室等场所养鱼。为节省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制键进行一键控制。... 阅读详情

相关推荐

Apache Paimon快照管理实战:如何避免Flink作业中的反压问题?

本文深入探讨了如何通过优化Apache Paimon的快照管理机制来避免Flink作业中的反压问题。详细解析了同步与异步快照过期模式的适用场景及配置建议,并提供了Checkpoint策略与状态后端的协同优化方案,帮助提升实时数据处理的性能和稳定性。

i1j2k的博客 177

nginx-upsync-module安装(2)

nginx-upsync-module安装

ls_call520的专栏 223

嵌入式面试|MCU+RTOS技术栈——面试八股文整理3:STM32

stm32

weixin_44800059的博客 1901

Nginx + consul

Nginx + consul 功能   Nginx + consul 可以实现服务器动态下线、上线、水平扩展、限流、监控、灰度发布。 安装依赖 yum -y install gccgcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel   下载文件 wget http://nginx.or

2664

HEVC/VVC中R-Lambda码率控制算法原理

文章目录1. 比特分配1.1 GOP级比特分配1.2 帧级比特分配1.3 LCU级比特分配2. 码率控制2.1 λ的计算和更新2.2 参数QP的确定 VVC中码率控制算法沿用了HEVC中经典的R-λ码率控制模型,R-λ由中科大的李斌博士提出(详情参考JCTVC-K0103)。R-λ模型的基础为视频编码中 R(比特 bpp)和 D(失真 MSE)之间的双曲线模型,即 D(R)=CR−KD(R) = ...

Aidoneus_y 6137

基于深度学习YOLOv10的人脸表情识别系统(附完整资源+PySide6界面+训练代码)

本文介绍了如何基于YOLOv10实现一个人脸表情识别系统。我们从数据集准备、模型训练到PySide6界面实现进行了详细的讲解。通过该系统,用户可以实时检测和分类人脸表情,为情感分析、智能交互等应用场景提供支持。

YOLO 1053

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

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

大海技术博客 3388

6、业务影响分析(BIA)的数据收集与关键指标评估

本文全面解析了业务影响分析(BIA)的核心内容,包括数据收集、业务流程分析、信息系统与资产清单、人员与供应商依赖、影响声明、关键指标评估(如MTD、RTO、RPO)、威胁建模与风险分析等。通过详细的介绍和图表展示,帮助组织系统性地制定灾难恢复计划,以应对各种潜在风险,确保关键业务流程在灾难发生后能够快速恢复并持续运营。

moss5的博客 374

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

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

jc2255的博客 1894

Microsoft AI SDK 与 SAP ABAP:让企业级 AI 能力触手可及的深度整合指南

借助 Microsoft AI SDK,ABAP 开发者无需跳出熟悉的事务码与数据字典,就能把 GPT‑4 的强大语言理解与生成能力深度植入采购、销售、财务等核心业务流程。只要掌握“初始化 SDK → 构造 Prompt → 解析输出”这一范式,未来无论 Azure OpenAI、OpenAI 还是本地化 LLM,都能在同一套代码骨架内快速切换,实现真正的“AI 即服务”。现在,就让我们在下一行 ABAP 里拥抱智能未来。参考链接均于 2025‑07‑22 提取,推荐读者结合实际版本进一步验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 432

搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义

SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1307

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

第4.4节:保护轴承与安全系统

飞轮储能系统的保护轴承是磁悬浮失效时的最后安全屏障,其设计需满足非干涉性、高可靠性和有限寿命承载原则。转子跌落过程包括自由下落、碰撞、进动和滑行减速等复杂非线性阶段,产生远超常规工况的冲击载荷。保护轴承需具备极限冲击容量、高温耐受性和抗卡死能力。系统采用多层级安全架构,结合故障诊断与健康管理,通过监测振动、电流等参数实现预测性维护。安全停机序列有序结合主动制动与被动摩擦制动,确保系统在极端工况下的安全。保护轴承类型多样,需根据系统规模与可靠性要求合理选择。

技术工作者 227

Nginx+Upsync+Consul搭建动态负载均衡环境

Nginx+Upsync+Consul实现动态负载均衡 Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色、轻量级的特点。Consul是分布式的、高可用的、 可横向扩展的用于实现分布式系统的服务发现与配置。 nginx-upsync-module是新浪微博开源插件,在此作用为:拉取 consul 的后端 KV的列表,并更新 Nginx 的路由信息。 1、下载需要的软件包 虚拟机采用:Centos7 consul: wget https://releases.hashi

qq_21875331的博客 393

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

diaolin2115的博客 353

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

基于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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux下玩转nginx系列(八)---如何使用upsync模块实现动态负载均衡

一、HTTP动态负载均衡 动态负载均衡动态负载均衡策略类似于加权轮询策略,可以通过对于后端服务器集群的状态监测,量化不同服务器的性能差异,来周期性调整服务器的比重来实现权重的动态调整。在nginx中传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf。这类似分布式的配置中心。动态负载均衡实现方案Consul+Consul-template 每次

幽雨雨幽 720

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实现动态负载均衡(五)

对于社区版的nginx做到负载动态负载均衡主要有三种方案: tengine的dyups模块; 微博的upsync; openResty的balancer_by_lua

大张 1256

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

前提前段时间顺利地把整个服务集群和中间件全部从UCloud迁移到阿里云,笔者担任了架构和半个运维的角色。这里详细记录一下通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布的核心知识点和操作步骤,整个体系已经在生产环境中平稳运行。编写本文使用的虚拟机系统为CentOS7.x,虚拟机的内网IP为192.168.56.200。动态负载均衡的基本原理一般会通过upstrea...

weixin_39929254的博客 320

高并发与高可用实战(三)Nginx高级

Http动态负载均衡 什么是动态负载均衡 传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件, 因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf。 这类似分布式的配置中心 动态负载均衡实现方案 Consul+Consul-template 每次发现配置更改...

weixin_40657079的博客 237

基于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

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-upsync-module安装
下一篇: socket技术与负载均衡
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值