瞭解上一篇《SpringBoot+dubbo+zookeeper 集成入門——dubbo-admin和註冊中心》
3:新建一個SpringBoot項目,項目名稱是ZookeeperProvider
pom.xml引用依賴
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<!-- 註冊中心的jar -->
<dependency>
<groupId>com.wtmlzt</groupId>
<artifactId>zookeeperInterface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
property配置信息
server.port = 80801
## Dubbo 服務提供者配置
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service
OrderService接口類的實現
注意@Service不是spring的註解,而是dubbo的直接
import com.alibaba.dubbo.config.annotation.Service;
項目編譯運行,並查看dubbo-admin是否有服務生成
其中一個是OrderService,另一個是UserService
至此,服務提供方(provider)已生成成功
4:重新創建一個SpringBoot項目,項目名稱是ZookeeperConsumer
pom.xml配置(和ZookeeperProvider一樣)
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<!-- 註冊中心的jar -->
<dependency>
<groupId>com.wtmlzt</groupId>
<artifactId>zookeeperInterface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
property配置
server.port = 8082
##dubbo 服務消費者的基礎配置
dubbo.application.name=dubbo-consumer
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service
創建TestController測試請求類
注意:@Reference(version = "1.0.0")引用dubbo包的依賴
import com.alibaba.dubbo.config.annotation.Reference
並且版本號必須和服務提供方(ZookeeperProvider)的保持一致。當然版本號也可以不用寫!
運行項目,檢查dubbo-admin是否有服務消費方生成
5:使用postman模擬請求訪問zookeeperConsume的請求
查看ZookeeperConsumer日誌
查看ZookeeperProvider的日誌輸入
總結:至此Springboot+dubbo+zookeeper的簡單demo已經搭建完畢!當然在真實場景中SDZ的使用絕不僅僅是如此的簡單,還有涉及到負載均衡,請求容錯等等分佈式操作。在以後的日子,也會繼續學習SDZ的使用和原理,學無止盡嘛!!!