SpringBoot 整合 Dubbo&Zookeeper 實(shí)現(xiàn)分布式

1. 安裝 Zookeeper 環(huán)境

Zookeeper 環(huán)境搭建&zk命令詳解

2. 服務(wù)提供者

因?yàn)橛昧烁腹こ痰陌姹竟芾砀娼常赃@里沒有顯示版本稻扬,我把用到的版本給大家分享下蒸痹。

  1. jdk 1.8
  2. springboot 1.5.8
  3. spring-boot-starter-dubbo 1.0.0

閑余之際我會(huì)把demo源碼分享崭添。

2.1 pom依賴
    <dependencies>
        <!-- Spring Boot Web 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Spring Boot Test 依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--spring data jpa -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.8-dmr</version>
            <scope>compile</scope>
        </dependency>
        <!--dubbo 依賴-->
        <dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
        </dependency>
        <!--junit 測(cè)試工具-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

2.2. Service填寫

大概給下項(xiàng)目架構(gòu):


為了方便,我用的springboot data jpa做持久性框架。如果不會(huì)jpa,請(qǐng)先看我springboot jpa整合

  1. SchoolRepository .java
/**
 * Created by Fant.J.
 */
@Repository
public interface SchoolRepository extends JpaRepository<School,Integer> {

}
  1. SchoolService.java 略(一個(gè)正常的借口)
  2. 實(shí)現(xiàn)類SchoolServiceImpl .java核心代碼
@Service(version = "2.0.1")
public class SchoolServiceImpl implements SchoolService {
    @Autowired
    private SchoolRepository schoolRepository;

這里的@Service注解是dubbo的注解佑附,不是springframework下的注解。該注解就是向zk注冊(cè)服務(wù)仗考。

2.3. application.properties
server.port=9002

## Dubbo 服務(wù)提供者配置

spring.dubbo.application.name=school-server
spring.dubbo.registry.address=zookeeper://xxx.xxx.xxx.xxx:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20882
spring.dubbo.scan=com.xxx.school.service

spring.datasource.url=jdbc:mysql://xxxxxxxxxx
spring.datasource.username=xxxx
spring.datasource.password=xxxx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

注意: 每一個(gè)服務(wù)都需要一個(gè)未被使用的dubbo端口 音同。

3. 服務(wù)消費(fèi)

為了和服務(wù)提供者解耦,我們需要把Service接口類單獨(dú)拿出來放到client模塊里秃嗜,這里不貼詳細(xì)代碼了权均。


3.1 pom.xml
這里略,根據(jù)controller類里的需要來填充相關(guān)依賴
3.2 SchoolController
@RestController
@RequestMapping("/sch")
public class SchoolController {

    @Reference(version = "2.0.1")
    private SchoolService schoolService;

    @RequestMapping("/all")
    public ServerResponse getAll(){
        return schoolService.selectAll();
    }
}

注意與@Service注解的version屬性值一一對(duì)應(yīng)锅锨。

3.3 application.properties
## Dubbo 服務(wù)消費(fèi)者配置
spring.dubbo.application.name=xxx
spring.dubbo.registry.address=zookeeper://xxxx.xxx.xxx.xxx
spring.dubbo.scan=com.xxx.web.controller

成功截圖:

有疑問請(qǐng)?jiān)谙旅媪粞浴?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叽赊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子必搞,更是在濱河造成了極大的恐慌必指,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恕洲,死亡現(xiàn)場(chǎng)離奇詭異塔橡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)霜第,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門葛家,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泌类,你說我怎么就攤上這事癞谒。” “怎么了刃榨?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵弹砚,是天一觀的道長。 經(jīng)常有香客問我喇澡,道長迅栅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任晴玖,我火速辦了婚禮读存,結(jié)果婚禮上为流,老公的妹妹穿的比我還像新娘。我一直安慰自己让簿,他們只是感情好敬察,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尔当,像睡著了一般莲祸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椭迎,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天锐帜,我揣著相機(jī)與錄音,去河邊找鬼畜号。 笑死缴阎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的简软。 我是一名探鬼主播蛮拔,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼痹升!你這毒婦竟也來了建炫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤疼蛾,失蹤者是張志新(化名)和其女友劉穎肛跌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體察郁,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惋砂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绳锅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酝掩,死狀恐怖鳞芙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情期虾,我是刑警寧澤原朝,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站镶苞,受9級(jí)特大地震影響喳坠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜茂蚓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一壕鹉、第九天 我趴在偏房一處隱蔽的房頂上張望剃幌。 院中可真熱鬧,春花似錦晾浴、人聲如沸负乡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抖棘。三九已至,卻和暖如春狸涌,著一層夾襖步出監(jiān)牢的瞬間切省,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工帕胆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朝捆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓惶楼,卻偏偏與公主長得像右蹦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子歼捐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理何陆,服務(wù)發(fā)現(xiàn),斷路器豹储,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • 你羨慕牽手到老的感情?你以為完美的感情就不存在吵架了嗎钠怯? 羨煞旁人的感情并不是不會(huì)發(fā)生爭吵 而是這些事情發(fā)生之后佳魔,...
    三品姐姐閱讀 175評(píng)論 0 0
  • 10.30
    遠(yuǎn)子85閱讀 115評(píng)論 0 0
  • 最近修行真的很荒廢,已經(jīng)兩個(gè)月了晦炊,天天刷電視劇鞠鲜,卻一直忘記自己。希望早點(diǎn)打起精神断国。
    照無名閱讀 150評(píng)論 0 0