Skip to content

[Question] 本地多人开发时,如何将请求路由到自己的后端实例 #6238

@LinZhaoguan

Description

@LinZhaoguan

问题场景:

基于 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 应用程序)需要与 多个 后端服务交互,而开发者只修改了其中一部分服务时,这个问题尤为突出。我们希望能够将用户的请求“粘滞”到 其特定的本地实例,用于他们正在开发的服务,同时其他服务仍能正常路由。

请问有什么解决办法?感谢

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions