K2目前是支持Load Balancing这种方式,来作负载均衡,也能够使用F5来作负载均衡,但此次我使用nginx来实现K2的负载均衡html
请下载nginx-1.9.0+
版本,由于nginx是1.9开始支持tcp层的转发,经过stream实现的,而socket也是基于tcp通讯。,下载地址:
http://nginx.org/en/download.html
由于个人环境是Windows 10,因此我下载的是Windows版本,解压后的目录:
nginx
nginx.conf
文件在conf下,打开此文件,修改配置:
nginx下stream
的配置,能够去官网看看;
这个只是一个测试,因此我只配置了个人全部K2服务器,并监听本地的5252
端口,若是有tcp请求,就转发到k2api
中。api
启动cmd
命令提示符服务器
start nginx
启动nginx
其它命令:负载均衡
nginx -s reload --修改配置后从新加载生效 nginx -t -c /conf/nginx.conf 测试nginx配置文件是否正确 nginx -s stop :快速中止nginx nginx -s quit :完整有序的中止nginx
编写控制台测试程序,关键点:socket
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的代理是成功的。
若是使用命令中止nginxtcp
nginx -s stop
而后再运行测试程序:
能够看到错误提示,连接不到K2服务器。测试