Dubbo 是阿里巴巴開源的高性能 Java 分布式服務框架,致力於提供透明化的 RPC(遠程過程調用) 解決方案與 SOA(面向服務架構) 服務治理能力。它讓應用能夠以「服務提供者」與「服務消費者」的模式進行解耦開發,告別傳統 Web Service 的 WSDL 繁瑣模式。


| 角色 | 說明 |
|---|---|
| Provider | 暴露服務的服務提供方 |
| Consumer | 調用遠程服務的服務消費方 |
| Registry | 服務註冊與發現的註冊中心 |
| Monitor | 統計調用次數、調用時間的監控中心 |
| Container | 服務運行容器 |
下載 ZooKeeper:官方鏡像站,單機模式啟動即可測試。
<!-- applicationContext-provider.xml --> <dubbo:application name="demo_provider" /> <dubbo:registry address="zookeeper://127.0.0.1:2181" /> <dubbo:protocol name="dubbo" port="20880" /> <dubbo:service interface="com.demo.DemoService" ref="demoServiceImpl" /> <bean id="demoServiceImpl" class="com.demo.impl.DemoServiceImpl" />
服務介面與實現:
public interface DemoService {
String sayHello(User user);
List<User> getUsers();
}
@Service
public class DemoServiceImpl implements DemoService {
public String sayHello(User user) { return "Hello " + user.getName(); }
public List<User> getUsers() { /* 返回模擬數據 */ }
}
<!-- applicationContext-consumer.xml --> <dubbo:application name="demo_consumer" /> <dubbo:registry address="zookeeper://127.0.0.1:2181" /> <dubbo:reference id="demoService" interface="com.demo.DemoService" />
Consumer 只需引用介面,即可像本地 Bean 一樣調用遠程服務。
Dubbo 以「高性能 RPC + 服務治理」解決了微服務拆分後的通訊與管理難題。理解其架構演進脈絡、核心角色交互、以及高可用設計原則,是掌握分布式系統開發的關鍵基石。下一步可深入探索:負載均衡策略、服務路由規則、配置中心整合、以及 Dubbo 3.x 的云原生演進。