之前在上海有使用过,但是很久没有用又有点遗忘了,记录一下。 Dubbo 文档地址:https://dubbo.apache.org/zh/docs/v2.7/user/
架构
Dubbo 架构:
调用关系说明:
- 0.服务容器负责启动,加载,运行服务提供者。
- 1.服务提供者在启动时,向注册中心注册自己提供的服务。
- 2.服务消费者在启动时,向注册中心订阅自己所需的服务。
- 3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
用法
- 将服务定义部分放在服务提供方 provider.xml,将服务引用部分放在服务消费方 consumer.xml。
- 在提供方增加暴露服务配置 dubbo:service,在消费方增加引用服务配置 dubbo:reference。
provider.xml:
代码语言:javascript复制<!-- 和本地服务一样实现远程服务 -->
<bean id=“xxxService” class=“com.xxx.XxxServiceImpl” />
<!-- 增加暴露远程服务配置 -->
<dubbo:service interface=“com.xxx.XxxService” ref=“xxxService” />
consumer.xml:
代码语言:javascript复制<!-- 增加引用远程服务配置 -->
<dubbo:reference id=“xxxService” interface=“com.xxx.XxxService” />
<!-- 和本地服务一样使用远程服务 -->
<bean id=“xxxAction” class=“com.xxx.XxxAction”>
<property name=“xxxService” ref=“xxxService” />
</bean>
Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://cloud.tencent.com/developer/article/2020512