有一個(gè)自己的項(xiàng)目,架構(gòu)使用的是kong網(wǎng)關(guān)+nacos微服務(wù)體系。
kong是一個(gè)基于openresty的高性能網(wǎng)關(guān),nacos是alibaba開源的微服務(wù)治理框架。
但kong不能實(shí)時(shí)地對(duì)nacos體系中的服務(wù)實(shí)例健康狀態(tài)進(jìn)行識(shí)別。
最近看了一些文章,找到了kong和nacos微服務(wù)體系打通方案,這次來(lái)總結(jié)一下思路。
架構(gòu)圖

image.png
核心思路
- 構(gòu)建一個(gè)kong-nacos服務(wù),注冊(cè)在nacos微服務(wù)體系內(nèi),利用nacos-sdk監(jiān)聽nacos內(nèi)微服務(wù)實(shí)例上下線事件。
- 服務(wù)實(shí)例上線/下線時(shí),獲取實(shí)例的ip:port信息,調(diào)用kong-admin-api,同步更新kong的upstream-target。
- 這樣便打通了kong與nacos微服務(wù)體系,實(shí)現(xiàn)了kong網(wǎng)關(guān)的動(dòng)態(tài)識(shí)別服務(wù)實(shí)例健康狀態(tài)。