构建客户端实例(RegistryClientConfig)的RegistryEndpoint问题
构建客户端示例时,需要创建配置对象RegistryClientConfig,这里需要指定一个RegistryEndpoint(注册中心任一 Session 节点地址)。 在创建客户端实例的时候官方文档给的案例是把sessionserver的IP直接写死在代码里 (DefaultRegistryClientConfigBuilder.start().setRegistryEndpoint("127.0.0.1")) 问题描述: 1.随意写死任意一台sessionserver的IP,由于sessionserver的不可靠性(宕机/重启之类/下线)发生时,调用方也正好执行这段代码会有问题吗? 2.如果1的case出现时有问题(注册异常),这块是不是要调用方自己实现不可靠逻辑(配置化+调用策略),而不是直接写死?
- 一般实践经验是配置一个带有硬负载功能的VIP
- registry客户端在第一次链接session之后,会和session拉取一遍session的IP列表
@zwm325715 不知道有没有解决你的疑虑?
比如通过LVS(VIP)+keepalived去落地,可否? 这样sessionserver扩容对业务系统透明(也不应该感知) 如果没理解错的话建议文档提示一下开发者,毕竟牵扯运维层面的事情。
我把这个加入到开箱即用计划中,有兴趣的话,可以认领一下 我们目前希望通过社区去开发sofa-registry,改变我们是单一开发主体的现状 @zwm325715