第一次用IDEA搭建springboot+dubbo+zookeeper項目中碰到了一些問題,現在記錄下來,
第一步:項目准備工作
工具IDEA,先下載安裝zookeeper和dubbo
Zookeeper下載地址:https://zookeeper.apache.org/releases.html,我下載最新的release 3.5.7
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
下載下來文件,解壓到相應文件夾,需要要做以下幾件事
1、復制一份apache-zookeeper-3.5.7-bin\conf\zoo_sample.cfg,放到旁邊改名zoo.cfg
2、在zoo.cfg中增加節點 admin.serverPort=8888,這是因為zookeeper默認占用8080端口,不修改導致運行程序端口占用
3、在apache-zookeeper-3.5.7-bin\bin的啟動文件 zkserver.cmd中增加 "-Dzookeeper.admin.enableServer=false",也是為了解決端口占用問題
4、啟動zookeeper程序等待
dubbo-2.6.0下載及安裝
下載地址:github:https://github.com/apache/dubbo/tree/dubbo-2.6.0
注意:dubbo-2.6.1以后的版本不再有dubbo-admin
下載之后解壓后拷貝dubbo-admin-2.6.0.war到 tomcat安裝目錄的webapps目錄
- 在dubbo-2.6.0目錄執行 mvn clean package -Dmaven.test.skip=true ;
- 啟動Tomcat。如果Tomcat的默認端口為8080,建議修改下,比如改為8088,這樣http://127.0.0.1:8088/dubbo-admin-2.6.0/

第二步:基於IDEA工具,springboot建立provider,customer,api等

名詞:Spring initializr
Spring initializr 是Spring 官方提供的一個用來初始化一個Spring boot 項目的工具。在idea中,直接 File->New->Project, 在左側就能看到Spring initializr, 點擊Next 就可以選擇組件。
創建spring initializr,可以直觀手動勾選依賴,如果創建maven項目話,需要在pom文件夾自己添加依賴,適合網絡環境差的情況下使用。
(一):選擇新建project,在界面中選擇Spring Initilazr點擊Next:

(二)填上項目的基本信息點擊next:

(三)選擇在你的項目中需要引入的相關依賴以及springboot的版本,這里我選了2.2.5並勾選web便於測試(當然你可以根據你的需要勾選不同的依賴,很全基本上涵蓋了開發過程中所用到的所有插件)點擊next編輯器就會幫你自動將項目初始化並下載相關的jar包依賴:

項目名稱起名:SpringbootDubbo
進入項目后我們可以先看看項目結構:
(四)同樣的方法 建立 dubbo-api,dubbo-customer,dubbo-privider
代碼不多 直接上圖





運行效果:

小結:
項目搭建網上一堆指導,還是碰到了一些問題
1、先啟動zookeeper,在啟動dubbo-admin
2、先啟動運行 provider,端口server.port=8091
3、在啟動api,端口server.port=8092
4、最后啟動運行 customer,端口server.port=8090
在配置文件properties 里 增加spring.main.allow-bean-definition-overriding=true
5、注意dubbo配置,格式檢查,否則常出現配置文件找不到提示
6、注解@Service @Reference 請選擇 dubbo提供的
