K2使用Nginx作負載均衡

K2使用Nginx作負載均衡

K2目前是支持Load Balancing這種方式,來作負載均衡,也能夠使用F5來作負載均衡,但此次我使用nginx來實現K2的負載均衡html

下載nginx

請下載nginx-1.9.0+版本,由於nginx是1.9開始支持tcp層的轉發,經過stream實現的,而socket也是基於tcp通訊。,下載地址:
http://nginx.org/en/download.html
由於個人環境是Windows 10,因此我下載的是Windows版本,解壓後的目錄:
nginx

修改nginx.conf

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

nginxstream的配置,能夠去官網看看;
這個只是一個測試,因此我只配置了個人全部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服務器。測試

相關文章
相關標籤/搜索