常见问题

本文汇总了 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 手动配置。