Dubbo 是阿里巴巴開源的高性能 Java RPC 框架,提供透明化遠程調用、智能負載均衡、服務自動發現三大核心能力,是微服務架構中的服務治理基石。
調用鏈路:
package com.demo.api;
public interface DemoService {
String sayHello(String name);
}
<!-- provider.xml --> <dubbo:application name="provider-app" /> <dubbo:registry address="zookeeper://127.0.0.1:2181" /> <dubbo:protocol name="dubbo" port="20880" /> <dubbo:service interface="com.demo.api.DemoService" ref="demoServiceImpl" /> <bean id="demoServiceImpl" class="com.demo.provider.DemoServiceImpl" />
<!-- consumer.xml -->
<dubbo:application name="consumer-app" />
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
<dubbo:reference id="demoService" interface="com.demo.api.DemoService" />
// Java 代碼調用
DemoService service = context.getBean("demoService");
String result = service.sayHello("World");
| 標籤 | 用途 | 關鍵屬性 |
|---|---|---|
| <dubbo:service> | 暴露服務 | interface、ref、timeout、retries、loadbalance |
| <dubbo:reference> | 引用服務 | id、interface、version、check、url(直連) |
| <dubbo:protocol> | 協議配置 | name、port、threads、serialization |
| <dubbo:registry> | 註冊中心 | address、protocol、timeout、file(緩存) |
| <dubbo:method> | 方法級配置 | name、timeout、retries、actives(並發限制) |
方法級 > 服務級 > 全局默認級,靈活覆蓋實現精細化治理。