前言
kong 是一个在 nginx 的基础上使用 lua 开发的用于管理 API 和 微服务 的代理工具。
本人最近大部分时间都在玩 kong,包括 kong 的安装部署以及批量管理 kong 里面的 API。
本文主要记录这个过程中的一些心得体会。希望看官们不吝指教。
安装
kong 的安装并不是很复杂。
把 rpm 包下载之后,准备好数据库 ( 推荐使用 cassandra ),编辑好配置文件就可以直接启动了。
至于生产环境,我们需要考虑高可用,那么也可以按照集群模式进行安装,多台 kong 共享一个 cassandra 数据中心。
注意,这里需要考虑数据缓存的问题。
具体场景是,node-A 更新了某个 API 之后,node-B 还没有去数据库拉取新数据,依旧是按照自身缓存的 API 信息向外提供服务,故此时线上节点存在不一致的状态。
官网提供的解决办法是配置节点更新时间。属性如下:
- db_update_frequency (default: 5s)
- db_update_propagation (default: 0s)
- db_cache_ttl (default: 3600s)
个人感觉这里需要权衡。
比如后端数据库是 cas