LinZhaoguan opened a new issue, #6238:
URL: https://github.com/apache/shenyu/issues/6238
### Question
问题场景:
基于 Nacos + Spring Cloud 的技术栈,在多个开发者本地开发环境中,多人同时开发同一个服务(例如
user-service)的情况非常常见。每个开发者都会运行自己本地的服务实例(例如,开发者 A 的 user-service:8081,开发者 B 的
user-service:8082,开发者 C 的 user-service:8083)。
目前,ShenYu
网关根据标准的负载均衡策略(轮询、随机、一致性哈希等)将请求路由到服务实例。虽然这在生产环境中很有效,但在本地开发过程中会带来显著的效率低下:
**开发者之间相互干扰**: 如果开发者 A 正在测试其本地 user-service:8081 实例上的某个特定功能,但其前端页面(例如一个
React 页面)发出的请求可能会被 ShenYu 随机路由到开发者 B 的 user-service:8082 实例。这意味着开发者 A 实际上在测试开发者
B 的代码,导致功能验证不准确、浪费时间并造成挫败感。
**调试困难**: 当出现 Bug 时,很难确定是哪个开发者的实例处理了请求,这使得调试和问题复现变得更加困难。
**测试周期效率低下**:
开发者通常不得不重启他们的整个前端/后端堆栈、清除缓存,甚至手动访问特定端口,以确保他们的请求到达他们预期的本地服务实例,这大大减慢了开发工作流程。
当前端(例如本地运行的 Web 应用程序)需要与 多个
后端服务交互,而开发者只修改了其中一部分服务时,这个问题尤为突出。我们希望能够将用户的请求“粘滞”到
其特定的本地实例,用于他们正在开发的服务,同时其他服务仍能正常路由。
请问有什么解决办法?感谢
--
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]