RPC 最重要的功能是获取对端地址。根据使用环境的不同,服务路由策略主要有软负载和直连两种。
软负载
软负载即软件负载。当需要调用服务时,消费方根据软负载策略,从服务注册中心(SOFARegistry)推送到本地缓存的列表里选择一个地址,再调用该地址所提供的服务。
SOFARPC 采用服务发布(ServicePublish)和引用(ServiceReference)模型,通过服务注册中心(SOFARegistry)动态感知服务发布,并将服务地址列表推送给已经引用该服务的消费方,更新消费方本地缓存中的可用服务列表,最后通过软负载策略,为消费方选择可用地址进行远程通信。
通过路由策略,您在使用 SOFARPC 的时候,就不用将服务地址硬编码在服务注册中心的代码中。详情请参见 负载均衡。
软负载示意图
直连
在开发及测试环境下,开发者经常需要绕过注册中心,只测试指定服务提供方,这时候可能需要点对点直连来进行测试。该功能可以通过 SOFARPC 的 test-url
或 target-url
配置来实现。详情请参见 直连调用。
文档内容是否对您有帮助?