本文汇总了 SOFARegistry 使用过程中的一些常见问题及对应的解决方案。
RPC 服务端发布之后,为什么在微服务控制台无法找到该服务。
问题原因
应用服务器的 IP 地址,不在发布部署参数 rpc_enabled_ip_range
范围内。例如:应用服务器的 IP 是172.19.**.**,而 rpc_enabled_ip_range
配置的参数为 10:11,172.16,192.168
。
解决方案
修改应用实例的发布部署参数 rpc_enabled_ip_range
,将应用服务器的 IP 地址包含在 rpc_enabled_ip_range
的配置范围内。如上述示例中,将 10:11,172.16,192.168
修改为 10:11,172.19,192.168
,然后重新发布应用。
服务消费者调用服务提供者的策略是什么?
默认是随机调用,如有更精细的需求,请参见 负载均衡。
在 Registry 宕机后,如何避免因为服务提供者不健康而出现调用失败的问题?
无论 SOFARegistry 是否宕机,SOFARPC 框架对服务提供者调用失败的情况,做了两方面的容错处理:
调用重试:您可以配置调用重试,当发生非业务错误导致的请求失败时(例如网络超时等),会尝试重试(随机调用一个服务提供者重试)。配置方式请参见 调用重试。
注意打开重试机制时,需要业务方保证幂等。
单机剔除:通过重试基本能保证调用成功,但会增加相应延迟。若您想要进一步提高调用成功率,可以配置单机剔除。当一台服务提供者长时间无法提供服务,可以降低它的权重。配置方式请参见 自动故障剔除。
服务消费者缓存保存时间是多久?
消费者不重启,会一直保存。
是否只有 Registry 扩缩容才会涉及 ACVIP 配置变更?
只有注册中心的 SessionServer 扩缩容,才需要变更 ACVIP 的配置。ACVIP上已经有的数据不会自动变更,您可以通过 OSP 刷新已经有的数据,或进入 cloudinc 手动配置。
如何确认微服务与注册中心是否连接正常?
您可以在项目服务器上通过
ps -ef | grep 9600
命令检查 9600 端口,如果端口为监听状态,则表示连接正常。文档内容是否对您有帮助?