SpringBoot 整合 dubbo 基礎框架 消息用的 zookeeper

話不多說 開整  自己動手搭建的第一個dubbo分佈式框架

前提是你對dubbo服務有一個初步的認識

首先 你要下載一個zookeeper 併成功啓動

具體怎麼安裝的詳見https://www.cnblogs.com/grimm/p/6732867.html

就不多說了 我用的開發軟件是idea 

首先我們要搭建一個maven項目  jdk 1.8 

然後新建maven項目

然後finish 我們的父框架就構建完成了

因爲我們這個是用作父框架使用的 所以我們就可以把這個自動生成的src文件夾刪掉了

然後我們要構建 三個 module 分別是 api(服務接口  服務提供者  和 消費者 公共引用這個接口 ) provider(服務提供者) consumer(服務消費者) 

接下里就是三個module 建好的樣子

接下來咱們就要來寫接口了  就是 我們的api   服務提供者和消費者 都是 要基於這個得

這裏現在無法創建package我們要在這裏 配置一下

配置好了我們就可以常見package 然後寫我們的api接口了 我就先創建了一個測試的小接口  

寫好了接口我們就要去寫接口提供者和消費者了

我們先配置父項目的pom文件 這樣我們的服務提供者和服務消費者就可以直接用父項目的pom文件了

把這些依賴放在父類pom文件裏

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <zkClient.version>0.10</zkClient.version>
    <zookeeper.version>3.4.12</zookeeper.version>
    <dubbo.starter.version>0.2.0</dubbo.starter.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>${dubbo.starter.version}</version>
    </dependency>

    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>${zkClient.version}</version>
    </dependency>

    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

然後我們先配置服務提供者provider 需要配置 

首先第一步 pom 裏面加入依賴 

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.lxy</groupId>
        <artifactId>api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

然後配置我們的yml 文件 主要是配置dubbo 相關服務 詳見 文章結尾 項目代碼

之後我們開始配置Provider這個項目的啓動類 並實現我們之間寫的接口 接口的Service 一定要是dubbo的

 

接下來我們去寫服務消費者 首先pom記得引入我們的api依賴  然後配置yml文件以及啓動類 

 

然後寫我們controller 調用我們的公共接口

 

注意自己引用的包是否正確

然後下啓動zookeeper 再啓動 provider 最後啓動consumer 一個dubbo服務就配好了 訪問一下

然後我們再dubbo 的服務治理(你們還沒配,你們可能看不到,但是不影響項目正常啓動)那裏可以看到我們註冊的服務 

一個dubbo 框架就完成了 我也是小白 發出來大家共勉

附上當前項目的zip包:https://download.csdn.net/download/jiangyucaonima/10577630

再來一個附加整合mybatis的zip地址:https://download.csdn.net/download/jiangyucaonima/10577443

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章