一.服務提供者
完整的目錄結果如下:
1. 搭建maven工程(略)
2. 修改pom檔案,引入依賴,注意看關鍵依賴上的注釋
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wx</groupId>
<artifactId>cloud_cart_client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<!-- 統一配置版本 -->
<properties>
<java.version>1.8</java.version>
<mybatis-spring.version>1.2.1</mybatis-spring.version>
<druid.version>1.1.10</druid.version>
<fastjson.version>1.2.31</fastjson.version>
</properties>
<!-- 使用dependencyManagement進行版本管理 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- 引入eureka 用戶端依賴 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- 引入ribbon 依賴 ,用來實作負載均衡,我們這裡隻是使用,先不作其他介紹 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 設定通過jdk1.8編譯項目 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 可通過maven指令運作項目和打包運作 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
</project>
3. 編寫springboot配置檔案,如圖:
4. 建立啟動類:
5. 對外提供服務的接口如下圖所示:
6. 啟動并測試:
觀察啟動日志,你會發現有提示說向注冊中心注冊了服務的提示,如下圖
通路eureka注冊中心,發現服務已經注冊成功了
二.服務消費者
完整的目錄結果如下:
1. 搭建maven工程(略)
2. 修改pom檔案,引入依賴,注意看關鍵依賴上的注釋
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wx</groupId>
<artifactId>cloud_cart_client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<!-- 統一配置版本 -->
<properties>
<java.version>1.8</java.version>
<mybatis-spring.version>1.2.1</mybatis-spring.version>
<druid.version>1.1.10</druid.version>
<fastjson.version>1.2.31</fastjson.version>
</properties>
<!-- 使用dependencyManagement進行版本管理 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- 引入eureka 用戶端依賴 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- 引入ribbon 依賴 ,用來實作負載均衡,我們這裡隻是使用,先不作其他介紹 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 設定通過jdk1.8編譯項目 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 可通過maven指令運作項目和打包運作 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
</project>
3. 編寫springboot配置檔案,如圖:
4. 建立啟動類:
大家發現了沒有,服務提供者和服務消費者都要用到@ EnableDiscoveryClient注解,而且springboot配置的Eureka注冊中心都是一樣的,說明一個應用既可以作為服務提供者,又可以來消費其它的服務。
5.服務消費的controller如下圖所示:
6. 啟動并測試:
觀察啟動日志,你會發現有提示說向注冊中心注冊了服務的提示,如下圖
通路eureka注冊中心,發現服務已經注冊成功了
接下來,我們進行一下服務消費,如圖所示:
三.總結
以上執行個體實作了基本的服務治理:
通過spring-cloud-starter-eureka-server和@EnableEurekaServer實作服務注冊中心
通過spring-cloud-starter-eureka和@EnableDiscoveryClient注冊到【注冊中心】并提供服務
通過spring-cloud-starter-eureka和@EnableDiscoveryClient注冊到【注冊中心】并發現服務