nginx-upsync-module 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
nginx-upsync-module 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: BSD
开发语言: C/C++ 查看源码 »
操作系统: 跨平台
开发厂商: 新浪微博
收录时间: 2017-12-05
提 交 者: 王练

nginx-upsync-module 是微博开源的一个基于 Nginx 实现动态配置的模块,通过拉取 Consul 或 etcd (及其它)的上游数据,实现无需重新加载 Nginx ,动态修改后端服务器属性(weight,max_fails,down ...)。

修改配置文件并重新启动 Nginx 可能并不总是很方便。 例如,当遇到大流量和高负载,重启 Nginx 并在此时重新加载配置会进一步增加系统负载,并可能暂时降低性能。使用 nginx-upsync-module 模块则可以在不影响性能的情况下,更加平滑的扩展和收缩。

nginx-consul:

http {
    upstream test {
        upsync 127.0.0.1:8500/v1/kv/upstreams/test/ upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;
        upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;

        include /usr/local/nginx/conf/servers/servers_test.conf;
    }

    upstream bar {
        server 127.0.0.1:8090 weight=1 fail_timeout=10 max_fails=3;
    }

    server {
        listen 8080;

        location = /proxy_test {
            proxy_pass http://test;
        }

        location = /bar {
            proxy_pass http://bar;
        }

        location = /upstream_show {
            upstream_show;
        }

    }
}

nginx-etcd:

http {
    upstream test {
        upsync 127.0.0.1:2379/v2/keys/upstreams/test upsync_timeout=6m upsync_interval=500ms upsync_type=etcd strong_dependency=off;
        upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;

        include /usr/local/nginx/conf/servers/servers_test.conf;
    }

    upstream bar {
        server 127.0.0.1:8090 weight=1 fail_timeout=10 max_fails=3;
    }

    server {
        listen 8080;

        location = /proxy_test {
            proxy_pass http://test;
        }

        location = /bar {
            proxy_pass http://bar;
        }

        location = /upstream_show {
            upstream_show;
        }

    }
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

nginx-upsync-module 的相关资讯

还没有任何资讯

nginx-upsync-module 的相关博客

nginx+nginx-upsync-module实现动态负载及自定义验证

一、说明 nginx一般直接在配置文件里配置upstream即可实现负载均衡,但有些特定的环境下此种方式就显得有些局限性。比如后端服...

死磕nginx系列--使用upsync模块实现负载均衡

问题描述 nginx reload是有一定损耗的,如果你使用的是长连接的话,那么当reload nginx时长连接所有的worker进程会进行优雅退...

Nginx_Kafka_Module

1.安装git yum install -y git 2.切换到/usr/local/src目录,然后将kafka的c客户端源码clone到本地 cd /usr/local/src git cl...

nginx_upload_module

解决nginx中upload module在1.7.3版本编译找不到to_write函数问题。

nginx及nginx-rtmp-module安装

系统说明: centos6.2_64 一、版本 nginx-1.4.4 nginx-rtmp-module-1.0.6 https://github.com/shenhailuanma/nginx-rtmp-modu...

nginx 安装 lua-nginx-module

需要LuaJIT-2.0.4.tar.gz,ngx_devel_kit,lua-nginx-module 1.下载安装LuaJIT-2.0.5.tar.gz http://luajit.org/download.ht...

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

前提 前段时间顺利地把整个服务集群和中间件全部从UCloud迁移到阿里云,笔者担任了架构和半个运维的角色。这里详细记录一下通...

在nginx安装nginx-rtmp-module模块

1.下载nginx wget http://nginx.org/download/nginx-1.15.1.tar.gz 2.下载nginx-rtmp-module wget https://github.com/serge...

nginx上传模块---nginx upload module

nginx上传模块 一. nginx upload module原理 官方文档: http://www.grid.net.ru/nginx/upload.en.html Nginx upload module通...

nginx-upsync-module 的相关问答

还没有任何问答,马上提问

评论 (0)

加载中
更多评论
0 评论
16 收藏
分享
返回顶部
顶部