使用 kong community edition(社群版 v1.3.0)來搭建乙個負載均衡器,由於 kong 是基於 openresty 的,而 openresty 又是 nginx 的二次封裝,所有很多配置項和 nginx 類似。
來看乙個較為典型的 nginx 負載均衡配置
upstream hello
server
}
nginx 監聽來自本地 80 埠的請求,如果路徑與 /hello 匹配,便將請求原封不動的**到名稱為 hello 的upstream,而該 upstream 我們配置了乙個負載均衡器,會路由到本地的 3000 埠和 3001 埠。
@restcontroller
public static void main(string args)
public string port()
}啟動兩個 server 分別監聽本地 3000 埠和 3001 埠。
如何你的機器已經安裝好了 kong,並對 kong 的 admin api 有了基礎的認識,接下來便可以針對 kong 進行負載均衡的配置了。
建立乙個名稱 hello 的 upstream
curl -x post http://localhost:8001/upstreams --data "name=hello"
為 hello 新增兩個負載均衡節點
curl -x post http://localhost:8001/upstreams/hello/targets --data "target=localhost:3000" --data "weight=100"
curl -x post http://localhost:8001/upstreams/hello/targets --data "target=localhost:3001" --data "weight=50"
如上的配置對應了 nginx 的配置
upstream hello
使用老版本 kong 的使用者可能會接觸過 api 這個概念,但是在 kong v1.3.0 中,已經被廢除了,取而代之的是 service 和 route 的配置。
配置乙個 service
curl -x post http://localhost:8001/services --data "name=hello" --data "host=hello"
host 的值便對應了 upstream 的名稱,配置成功後會返回生成的 service 的 id,我的返回結果:8695cc65-16c1-43b1-95a1-5d30d0a50409
為上面的 service 配置路由資訊
curl -x post http://localhost:8001/routes --data "paths=/hello" --data "service.id=8695cc65-16c1-43b1-95a1-5d30d0a50409"
請求路徑包含 /hello 的請求都會被轉移到對應的 service 進行處理。
如上的配置便對應了
location /hello
curl http://localhost:8000/hello/hi
因為複雜均衡的原因,需要多測試幾次,多次 curl 之後結果如下:
3000
3000
3000
3000
3000
3000
3001
3001
3001
3000
3001
原貼戳我
Kong配置service負載均衡
1.建立upstream kong提供的乙個負載的功能,基於nginx的虛擬主機的方式做的負載功能。在service中的host可指定為upstream物件,upstream新增多個target來實現負債均衡。新增upstream curl i x post url http localhost 8...
初識nginx負載均衡
環境 主機三颱,系統centos,乙個為nginx伺服器 1 180.150.184.156,另外兩台發布tomcat服務 2 180.150.184.202 3 180.150.184.203。1 nginx安裝 yum y install nginx 修改nginx配置檔案nginx.conf ...
初識Nginx負載均衡
我們有時候,用自己的計算機a想訪問國外的某個 b,但是訪問不了,此時,有一台中間伺服器c可以訪問國外的 b,那麼,我們可以用自己的電腦訪問伺服器c,通過c來訪問b這個 那麼這個時候,伺服器c稱為 伺服器,這種訪問方式叫做正向 正向 有乙個特點,就是我們明確知道要訪問哪個 當我們有乙個伺服器集中,並且...