- 谁能用通俗的语言解释一下什么是 RPC 框架?
- 既然有 HTTP 请求,为什么还要用 RPC 调用?
RPC
HTTP和RPC,可读性和效率之间的抉择,通用性和易用性之间的抉择。
Dubbo
- Dubbo 一篇文章就够了:从入门到实战
- dubbo-spring-boot-project
[ ] 问答Dubbo-简洁版
架构
Container: 服务运行容器,负责加载、运行服务提供者。必须。
- Provider: 暴露服务的服务提供方,会向注册中心注册自己提供的服务。必须。
- Consumer: 调用远程服务的服务消费方,会向注册中心订阅自己所需的服务。必须。
- Registry: 服务注册与发现的注册中心。注册中心会返回服务提供者地址列表给消费者。非必须。
- Monitor: 统计服务的调用次数和调用时间的监控中心。服务消费者和提供者会定时发送统计数据到监控中心。 非必须。
直连提供者
在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,所以,这种情况下,我们只需要直接连接服务端的地即可,其实,这种方法在前面的讲解已经使用到了,第一种讲解的方式就是这种方式,因为这种方式简单。
使用
<dubbo:reference id="providerService"
interface="com.sihai.dubbo.provider.service.ProviderService"
url="dubbo://192.168.234.1:20880/com.sihai.dubbo.provider.service.ProviderService"/>
说明:可以看到,只要在消费端在 dubbo:reference 节点使用 url 给出服务端的方法即可。