有一个自己的项目,架构使用的是kong网关+nacos微服务体系。
kong是一个基于openresty的高性能网关,nacos是alibaba开源的微服务治理框架。
但kong不能实时地对nacos体系中的服务实例健康状态进行识别。
最近看了一些文章,找到了kong和nacos微服务体系打通方案,这次来总结一下思路。
架构图
核心思路
- 构建一个kong-nacos服务,注册在nacos微服务体系内,利用nacos-sdk监听nacos内微服务实例上下线事件。
- 服务实例上线/下线时,获取实例的ip:port信息,调用kong-admin-api,同步更新kong的upstream-target。
- 这样便打通了kong与nacos微服务体系,实现了kong网关的动态识别服务实例健康状态。