Kong(https://github.com/Kong/kong) 是一個雲原生,高效,可擴展的分佈式 API 網關。 自 2015 年在 github 開源後,普遍受到關注,目前已收穫 1.9w+ 的 star,其核心價值在於高性能和可擴展性。html
概念術語
默認狀況下,KONG監聽的端口爲
:8444: 經過此端口,管理者能夠對HTTP請求進行監控.git
這裏以0.13.x 以上的版本爲例子,廢棄了API實體對象的使用。
1.建立docker網絡github
docker network create kong-netweb
2.安裝數據庫,kong支持 postgres( postgres9.5以上)和Apache Cassandra
建立啓動數據庫,這裏以postgres9.5做爲數據庫來存儲數據,以下:docker
$ docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6數據庫
3.數據庫準備,初始化Kong數據api
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
kong:0.14.1 kong migrations up服務器
4.啓動kong網絡
docker run -d --name kong \
--network=kong-net \
-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" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:0.14.1負載均衡
5.查看kong是否正在運行。
$ curl -i http://localhost:8001
而後能夠經過Restful Admin API 管理kong,參考地址:https://docs.konghq.com/0.14.x/admin-api/
官方推出了dashboard來管理Kong,界面清爽,使用方便,咱們接着往下看。
1.建立並運行Kong dashboard容器
docker run -d \
--network=kong-net \
--link kong:kong -p 8008:8080 pgbi/kong-dashboard start \
--kong-url http://kong:8001 \
--basic-auth kong=kong
2.而後訪問 http://192.168.33.10:8008,
1.建立並運行postgre admin 4容器
docker run -d -p 8009:80 \
--network=kong-net \
--link kong-database:kong-database \
-e "PGADMIN_DEFAULT_EMAIL=admin@admin.com" \
-e "PGADMIN_DEFAULT_PASSWORD=admin@admin.com" \
-d dpage/pgadmin4
2.而後訪問 http://192.168.33.10:8009
1.kong官方文檔:https://getkong.org/docs/
2.docker安裝kong:http://www.javashuo.com/article/p-ravrisjj-kr.html
3.選擇Kong做爲你的API網關:https://www.itcodemonkey.com/article/5980.html