using kong & cassandra with
2018-01-31 本文已影响209人
Terminalist
0.搭建docker开发环境
mac上搭建docker环境很简单,下载Docker.dmg
文件双击即可,给出官网文档地址,读者自行阅读手册即可;
1.搭建kong的运行环境
kong.png关于kong,大家可以阅读其官网的介绍:The open-source API Gateway and Microservices Management Layer, delivering high performance and reliability.(高性能的,高可靠性的开源API网关和微服务管理层)
其实,简单点说,就是kong可以对你的接口以及服务做到一个统一的管理和恰当的调配(请结合下图看😄)
- 设置database环境并指定端口,本文以cassandra环境为例
docker run -d --name kong-database \
-p 9042:9042 \
cassandra:3
- 使用kong-database这个库作为kong临时数据存储的容器
docker run --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=cassandra" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations up
- 启动kong,此时必须让database先一步kong容器启动!
其中
:8000
端口监听来自客户端的传入HTTP流量,并将其转发给您的上游服务;
:8443
端口监听传入的HTTPS流量。此端口的行为类似于:8000
端口,但它只监听HTTPS流量,可以通过配置文件禁用此端口;
:8001
用于管理API的监听端口;
:8444
监听HTTPS流量的端口。
docker run -d --name kong \
--link kong-database:kong-database \
-e "KONG_DATABASE= cassandra" \
-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" \
-e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
- 测试是否搭建成功
curl -i http://localhost:8001/
ok,今天环境搭建完毕,接下来就可以通过kong做点事情了!