sofa-boot icon indicating copy to clipboard operation
sofa-boot copied to clipboard

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

Open joker-pper opened this issue 3 years ago • 3 comments

背景: 本地开发调试困难,每次都是在更改完代码并增加日志发布到线上进行排查问题,耗时久 内部实践: 通过业务注册服务代码改造结合在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 avatar Apr 18 '22 09:04 joker-pper

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

ujjboy avatar May 05 '22 06:05 ujjboy

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

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

joker-pper avatar May 05 '22 06:05 joker-pper

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

HzjNeverStop avatar Jul 05 '23 08:07 HzjNeverStop