Spring boot + Zookeeper + Dubbo學習筆記

渣成沙發表於2021-01-05

Spring boot + Zookeeper + Dubbo學習筆記

 

  1. Maven服務地址   https://mvnrepository.com
  2. 安裝zookeeper時需要在conf資料夾下複製zoo_sample.cfg改名為zoo.cfg
  3. 將dubbo-admin專案打包   mvn clean package -Dmaven.test.skip=true打包時忽略測試
  4. 新建服務專案和消費專案 在pom中引入依賴,服務與消費專案依賴相同

  這裡需要注意 surator-framework的版本要與dubbo-admin中的版本一致,詳情檢視dubbo-admin的pom檔案

<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>

<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>

<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>

<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>

<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.2</version>
<exclusions>
    <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
</exclusions>

 

5、配置application.properties(不同埠、相同的註冊地址、服務名稱),服務專案需多配置一個要被掃描的包路徑。

server.port=9000
#服務名字
dubbo.application.name=provider-server
#註冊中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#那些服務要被註冊
dubbo.scan.base-packages=com.yog.service

6、服務專案中的介面實現類需新增apache.dubbo中的@Service和@Component註釋

     @Service //可以被掃描到,在專案啟動就註冊到註冊中心
     @Component //使用了Dubbo後儘量不要使用spring的service註解

7、消費專案中的介面類 一定要與 服務專案中的介面類的包路徑及介面名稱一致。在呼叫介面類時新增@Reference

    @Reference
    TicketService ticketService;

 

單臺伺服器叢集模式:單IP多節點(偽叢集)

  

1、首先複製出多個zookeeper啟動服務,在dataDir下建立myid檔案填入相對序列號,依次修改zoo.cfg中的dataDir

2、在啟動多個服務專案時會出現Failed to bind NettyServer on /169.254.222.71:20880 埠衝突問題!

 解決方法:在每個服務專案都設定不同埠號

dubbo.protocol.name=dubbo
dubbo.protocol.port=20881

 

相關文章