K2使用Nginx做负载均衡

K2使用Nginx做负载均衡

K2目前是支持Load Balancing这种方式,来做负载均衡,也可以使用F5来做负载均衡,但这次我使用nginx来实现K2的负载均衡

下载nginx

请下载nginx-1.9.0+版本,因为nginx是1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。,下载地址:
http://nginx.org/en/download.html
因为我的环境是Windows 10,所以我下载的是Windows版本,解压后的目录:

修改nginx.conf

nginx.conf文件在conf下,打开此文件,修改配置:

nginxstream的配置,可以去官网看看;
这个只是一个测试,所以我只配置了我的所有K2服务器,并监听本地的5252端口,如果有tcp请求,就转发到k2api中。

启动

启动cmd 命令提示符

start nginx 

启动nginx
其它命令:

nginx -s reload --修改配置后重新加载生效
nginx -t -c /conf/nginx.conf 测试nginx配置文件是否正确
nginx -s stop  :快速停止nginx
nginx -s quit  :完整有序的停止nginx

测试

编写控制台测试程序,关键点:

SourceCode.Workflow.Client.Connection K2Conn K2Conn = new Connection();
K2Conn.Open("127.0.0.1", "Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host=127.0.0.1;Port=5252");

这里K2链接,之前应该是直接指向K2服务器的,这里我指向本机。
运行测试程序:

提示发起流程成功,然后再去Workspace查看,是否有流程实例生成:

Workspace也正常,这说明nginx的代理是成功的。
如果使用命令停止nginx

nginx -s stop

然后再运行测试程序:

可以看到错误提示,链接不到K2服务器。

猜你喜欢

转载自www.cnblogs.com/FKU-CH/p/9173665.html