話不多說 開整 自己動手搭建的第一個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