kong使用grpc功能

對於kong的grpc使用目前官方還沒有正式的文檔說明,記得7月份時剛看KONG,那時還不支持grcp。當時一直想在網關上做grpc轉發,恰巧月底KONG官方發佈了一個1.3.0rc1版本。是第一個正式支持gRPC代理的版本!一個月後,又發佈了1.3.0正式版本,可以放心使用了。

 

下面我來簡單說下如何使用的,爲了快速演示可以使用官方的docker鏡像。

 

docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6

docker run --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:1.3 kong migrations bootstrap


docker run -d --name kong \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-e "KONG_PROXY_LISTEN=0.0.0.0:8000,0.0.0.0:9080 http2" \
-p 8000:8000 \
-p 8001:8001 \
-p 9080:9080 \
kong:1.3

這樣我們安裝了數據庫,數據庫初始化,安裝kong1.3

8001:API管理端口,

8000:http訪問端口

9080:grpc訪問端口

//1、添加api轉發
curl -i -X POST --url http://127.0.0.1:8001/services --data 'name=free.ip' --data 'url=http://apis.juhe.cn/ip/ipNew'
curl -i -X POST --url http://127.0.0.1:8001/services/free.ip/routes --data 'paths[]=/ip'
//測試
curl -i -X GET --url http://127.0.0.1:8000/ip?ip=101.50.19.50&key=0e989a1f3b24a6b89f865554d4e7fe15


//2、添加grpc轉發
//注:10.70.120.63:5000 是我的一個grpc服務

curl -i -X POST http://127.0.0.1:8001/services --data name=grpc.duzhenxun --data protocol=grpc --data host=10.70.120.63 --data port=5000

curl -i -X POST http://127.0.0.1:8001/services/grpc.duzhenxun/routes --data protocols=grpc --data hosts=ado

//測試GRPC服務,你也可以使用你go或php代碼進測試
grpcurl -plaintext -authority ado 127.0.0.1:9080 list
grpcurl -plaintext -authority service1 127.0.0.1:9080 describe hello.HelloService

對於kong我也是在剛剛研究,如果有興趣可以一起交流

微信:5552123(Ado)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章