Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议提供本地开发可用于简单服务直连绑定的功能 #948

Closed
joker-pper opened this issue Apr 18, 2022 · 4 comments
Closed

Comments

@joker-pper
Copy link

joker-pper commented Apr 18, 2022

背景:
本地开发调试困难,每次都是在更改完代码并增加日志发布到线上进行排查问题,耗时久
内部实践:
通过业务注册服务代码改造结合在test/resource/bolt-xxx.json完成服务绑定功能进行调试(只绑定服务,不会将本地服务注册到集群中),其中当配置文件存在时才会进行绑定,支持多套环境,但只支持bolt协议,当激活环境标识为none时忽略。
配置文件大致格式为:

{
  "active": "dev",  //none时忽略
  "dev": {
    "127.0.0.1:12200": [
      "UserService", //服务简称快速匹配

      "com.example.order.OrderService",  //服务全路径匹配(更精确)

      "[reg]com\\.example\\.base\\.SysService", //正则匹配

      "UserService@a1", //服务简称+uniqueId快速匹配

      "com.example.order.OrderService@b2"  //服务全路径+uniqueId匹配
    ]
  }
}

愿景:
希望官方能够统一提供支持,可以更好的兼容代码注册、注解等方式并支持其他的协议使用,提高开发效率。
目前大致期望的功能在配置文件中有所体现,即支持服务简称快速匹配、全路径匹配、正则匹配、支持uniqueId直连绑定,支持多套调试环境,支持可选使用。望评估后采纳。

@joker-pper joker-pper changed the title 建议提供本地开发可用于简单服务直连绑定的starter 建议提供本地开发可用于简单服务直连绑定的功能 Apr 18, 2022
@ujjboy
Copy link
Member

ujjboy commented May 5, 2022

@joker-pper 没太明白你的意思,你是说想通过一个配置文件,决定启动后提供哪个服务?

@joker-pper
Copy link
Author

@joker-pper 没太明白你的意思,你是说想通过一个配置文件,决定启动后提供哪个服务?

本身sofaboot不是有提供直连的方式进行调试嘛,不过通过注解或其他方式进行引用服务的方式比较死板,且不能整体管控多个环境下的地址。我建议的这种方式就是在一定程度上可以在本地调试更方便,且可以切换多套环境,另外推荐默认在test/resources下不会影响实际线上服务的寻址

@HzjNeverStop
Copy link
Contributor

是希望通过一个配置批量地修改将一些服务(通过服务名、unniqueId 匹配)的直连地址吗?类似于模版的概念

@joker-pper
Copy link
Author

可以在本地通过环境变量service.register=false以及集群的环境变量配置控制访问指定环境rpc服务,部分定制化的暂时手动修改就行。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants