【筆記】Envoy Proxy
上一次跟大家介紹了 gRPC
的通訊協定後,今天我們要跟大家介紹,可以支援 gRPC
的代理 Envoy
在官網中,他是這麼介紹他自己的
Envoy is an L7 proxy and communication bus designed for large modern service oriented architectures. The project was born out of the belief that:
The network should be transparent to applications. When network and application problems do occur it should be easy to determine the source of the problem.
Quick Start
當 Web 需要進行串接 gRPC
時,我們可以使用 gRPC-Web,但是需要透過 Envoy
進行代理
接下來,我們就開始吧!
- 首先,我們需要建立
envoy.yaml
檔,進行 config 設定
其中,這邊的 address 與 port 是指 envoy
提供出去的 address 與 port1
socket_address: { address: 0.0.0.0, port_value: 6566 }
另外,最下面的則是 gRPC Sever 的 address 與 port1
hosts: [{ socket_address: { address: gp-lotcenter, port_value: 6565 }}]
完整:
- 另外,我們需要撰寫
Dockerfile
1 | FROM envoyproxy/envoy |
- 啟動
這邊需要特別說明的是,整個 mysql, gp-lotcenter 與 envoy 都在同一個 network 下1
docker run -d --name envoy -p 6566:6566 -p 9901:9901 --network mysql_default envoy
今天的筆記先記錄到這邊,之後有更多的了解再補上。
如果有其他問題,歡迎寄信討論。
補充說明
對 gRPC-Web
有興趣的朋友,可以參考 gRPC-Web 教學文章
Reference
Donate
謝謝您的支持與鼓勵