如何按租户区分不同的微服务

Blade 未结 2 187
tongyi
tongyi 剑侠 2025-07-22 09:18

部署了3套微服务(A,B,C) 功能完全相同。 如何实现A租户只访问A微服务、B租户只访问B微服务,其他租户访问C微服务。以上是业务的需求,因为涉及微服务不同部署地点

2条回答
  • 2025-07-22 09:30

    网关是同一个还是每套微服务单独配一个网关,注册到同一个nacos还是每套微服务单独配一个nacos,访问同一个前端还是每套微服务单独配一个前端。

    A套微服务里面是每个模块一个服务,还是又有多个服务。需要把你们的需求详细描述下。

    0 讨论(0)
  • 2025-07-22 10:07

    同一个网关、同一个nacos

    回答: 2025-07-22 10:22

    同一个网关、同一个nacos、同一个nginx入口。A套、B套有多个不同的服务。image.png

    作者追问:2025-07-22 10:25

    可以通过Gateway获取租户ID,然后进行自动路由的方案。

    分两步走:

    一、写一个filter,实时获取租户ID,然后写入到request的header里,进行chain.filter传递

    二、写路由配置,定义不同的服务名、服务地址用predicates匹配到对应的tenantId的header里的值


    具体实现代码你找ai聊聊就有了

    0 讨论(0)
提交回复