Nginx-Stream-UpSync-Module 弹性扩缩容方案开源项目

我要开发同款
匿名用户2016年06月13日
70阅读
开发技术C/C++
所属分类Nginx扩展模块、服务器软件
授权协议BSD

作品详情

Nginx-Stream-UpSync-Module是基于nginx四层TCP协议的弹性扩缩容方案,实现性能无损的扩容缩容:

当前模块支持etcd和consul,相关配置如下:

nginx-etcd:

stream {    upstream test {        # fake server otherwise ngx_stream_upstream will report error when startup        server 127.0.0.1:11111;        # all backend server will pull from etcd when startup and will delete fake server        upsync 127.0.0.1:8500/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;    }    upstream bar {        server 127.0.0.1:8090 weight=1, fail_timeout=10, max_fails=3;    }    server {        listen 12345;        proxy_connect_timeout 1s;        proxy_timeout 3s;        proxy_pass test;    }    server {        listen 2345;        upstream_show    }    server {        listen 127.0.0.1:9091;        proxy_responses 1;        proxy_timeout 20s;        proxy_pass bar;    }}

nginx-consul:

stream {    upstream test {        # fake server otherwise ngx_stream_upstream will report error when startup        server 127.0.0.1:11111;        # all backend server will pull from consul when startup and will delete fake server        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;    }    upstream bar {        server 127.0.0.1:8090 weight=1, fail_timeout=10, max_fails=3;    }    server {        listen 12345;        proxy_connect_timeout 1s;        proxy_timeout 3s;        proxy_pass test;    }    server {        listen 2345;        upstream_show    }    server {        listen 127.0.0.1:9091;        proxy_responses 1;        proxy_timeout 20s;        proxy_pass bar;    }}

相关设计文档可参考:https://github.com/weibocom/nginx-upsync-module/tree/master/doc;

设计原理一致。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论