Lua 叢集指定器
在此範例中,我們示範如何將 Lua 叢集指定器與 Envoy 代理搭配使用。
範例 Envoy 代理組態包含一個 Lua 叢集指定器外掛程式,其中包含一個函數
envoy_on_route(route_handle)
提示
請參閱Lua 叢集組態文件,以取得有關此函數的概觀和文件。
步驟 1:建置沙箱
變更到 examples/lua-cluster-specifier
目錄,並啟動組合。
$ pwd
envoy/examples/lua-cluster-specifier
$ docker compose pull
$ docker compose up --build -d
$ docker compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------
lua-cluster-specifier-proxy-1 /docker-entrypoint.sh /usr ... Up 10000/tcp, 0.0.0.0:10000->10000/tcp
步驟 2:向正常服務發送請求
以下 curl
命令的輸出應傳回 200,因為 Lua 程式碼選擇了正常服務。
$ curl -i localhost:10000/anything 2>&1 |grep 200
HTTP/1.1 200 OK
步驟 3:向假服務發送請求
如果您指定請求標頭 header_key:fake
,curl 將會傳回 503
回應,因為 Lua 程式碼會選擇假服務。
$ curl -i localhost:8000/anything -H "header_key:fake" 2>&1 |grep 503
HTTP/1.1 503 Service Unavailable
另請參閱
- Envoy Lua 叢集指定器
深入了解 Envoy Lua 叢集指定器。
- Lua
Lua 程式設計語言。