LinZhaoguan commented on issue #6238:
URL: https://github.com/apache/shenyu/issues/6238#issuecomment-3578689154

   > 这应该不是问题?
   > 
   > 1. 开发的服务别注册到 nacos,把 nacos 注册代码注释掉不行?
   > 2. shenyu 路由的规则配置,例如条件匹配 
https://shenyu.apache.org/zh/docs/user-guide/admin-usage/selector-and-rule
   > 3. 前端流量染色,在 shenyu 通过 label 区分路由
   
   感谢 @yuluo-yx  的快速回复和建议!
   
   
我理解你提出的方案,但我认为对于我们团队当前面临的挑战,可能还有一些更优或更适合微服务场景的解决方案。让我来详细解释一下我们遇到问题的核心,以及为什么我们希望寻求一个更自动、更集成化的方式:
   
   我们的核心诉求是实现 “**请求隔离(Request Isolation)**” 或 “**开发者沙箱(Developer Sandbox)**” 
的概念。也就是说:
   
   - 当开发者 A 在开发 user-service 时,其前端发出的请求,如果目标是 user-service,我们希望它 始终 路由到开发者 A 
本地的 user-service:8081 实例。
   - 同时,如果开发者 A 的前端需要调用 order-service,这个请求应该 正常地 通过 ShenYu 路由到 任意可用的 
order-service 实例(可以是其他开发者的、测试环境的、甚至本地的另一个端口,只要它在 Nacos 中注册并可用)。
   - 最终目标是:在同一个 Nacos 
命名空间下,多个开发者可以同时启动同一个服务的不同实例,并且通过前端的某种标识,确保请求能够精准地路由到各自的本地开发实例。
   
   而 Shenyu 路由的规则配置,需要每个人都要配置一套自己的规则,不仅不利于维护和共享配置,而且由于 Shenyu 本质上是从 Nacos 
上获取的服务实例列表,现有的路由规则无法优先将请求转发到本机启动的服务实例。
   
   另外,在 Shenyu 2.5.x 的版本中,我曾经实现过扩展 
shenyu-spring-cloud-plugin,根据请求头的染色标识,从nacos服务列表中,根据服务实例的 metadata 
过滤出对应的服务实例。但是新版本 Divide 插件未找到相关的扩展点。
   
   期待能和大家一起探讨出更优雅的解决方案!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to