polaris
polaris copied to clipboard
是否需要支持serviceId大小写不敏感或类似eureka的大写模式?
What is the feature you want to add? 支持serviceId大小写不敏感模式
Why do you want to add this feature? spring.application.name即serviceId一般是小写,这是前提。
考虑历史业务从eureka迁移到polaris的场景,服务注册发现服务端部署polaris替代eureka server之后,存量的eureka client在8761端口注册的serviceId是大写,改造后的polaris discovery在8091端口注册的serviceId是小写,这就导致eureka client找不到polaris discovery注册的服务,polaris discovery找不到eureka client注册的服务,给迁移造成困难。
“eureka client找不到polaris discovery注册的服务,polaris discovery找不到eureka client注册的服务” 这里的表述不是很准确,举个例子:eureka client注册的serviceId "service-demo",在使用feign + polaris discovery时需要使用@FeignClient(name = "SERVICE-DEMO")才能找到对应的服务节点,使用@FeignClient(name = "service-demo")就不行
我觉得比较重要,对于兼容多种注册模型的场景,支持可配置的大小写不敏感,使得北极星服务端可以有更好的扩展性
我觉得应该是要支持大小写不敏感的,如果拿服务名同步到dns,作为dns解析的话,dns解析是不区分大小写的。
serviceId == {namespace} + {service}
任务详细
- [ ] 设置大小写不敏感开关
- [ ] 设置大小不敏感后,服务名称统一为小写
- [ ] 创建服务的时候,服务名称根据配置自动toLower
- [ ] 控制台接口直接创建服务
- [ ] 注册实例时自动创建服务
- [ ] 客户端接口的 Discover 请求,需要适配服务名大小写不敏感的配置
- [ ] 控制台接口涉及服务的相关操作
-
[ ] v1 版本的路由、熔断规则的创建中的请求的 Service 以及 Namespace 需要做大小写转换
-
[ ] 规则中的服务名,需要根据大小写敏感配置进行转换
-
assigne me
先简单实现,支持eureka服务注册成小写