学科分类
目录
Spring Cloud

搭建服务提供者

下面搭建一个Eureka Client作为服务提供者,并将其注册在上一节搭建的Eureka Server中。Eureka Client的搭建过程与Eureka Server基本类似,具体步骤如下:
(1)使用Spring Initializr方式创建一个名称为eureka-provider的Spring Boot项目,这里将Group命名为com.itheima,将Artifact命名为eureka-provider,添加Web、Eureka Client依赖。项目创建好后的pom.xml文件如例1所示。

例1 eureka-provider\pom.xml

 1     <?xml version="1.0" encoding="UTF-8"?>
 2     <project xmlns="http://maven.apache.org/POM/4.0.0" 
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 5     https://maven.apache.org/xsd/maven-4.0.0.xsd">
 6         <modelVersion>4.0.0</modelVersion>
 7         <parent>
 8             <groupId>org.springframework.boot</groupId>
 9             <artifactId>spring-boot-starter-parent</artifactId>
 10             <version>2.1.7.RELEASE</version>
 11             <relativePath/> <!-- lookup parent from repository -->
 12         </parent>
 13         <groupId>com.itheima</groupId>
 14         <artifactId>eureka-provider</artifactId>
 15         <version>0.0.1-SNAPSHOT</version>
 16         <name>eureka-provider</name>
 17         <description>Demo project for Spring Boot</description>
 18         <properties>
 19             <java.version>1.8</java.version>
 20             <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
 21         </properties>
 22         <dependencies>
 23             <dependency>
 24                 <groupId>org.springframework.cloud</groupId>
 25                 <artifactId>
 26                 spring-cloud-starter-netflix-eureka-client
 27                 </artifactId>
 28             </dependency>
 29             <dependency>
 30                 <groupId>org.springframework.boot</groupId>
 31                 <artifactId>spring-boot-starter-test</artifactId>
 32                 <version>2.1.7.RELEASE</version>
 33                 <scope>test</scope>
 34             </dependency>
 35             <dependency>
 36                 <groupId>org.springframework.boot</groupId>
 37                 <artifactId>spring-boot-starter-web</artifactId>
 38                 <version>2.1.7.RELEASE</version>
 39             </dependency>
 40         </dependencies>
 41         <dependencyManagement>
 42             <dependencies>
 43                 <dependency>
 44                     <groupId>org.springframework.cloud</groupId>
 45                     <artifactId>spring-cloud-dependencies</artifactId>
 46                     <version>${spring-cloud.version}</version>
 47                     <type>pom</type>
 48                     <scope>import</scope>
 49                 </dependency>
 50             </dependencies>
 51         </dependencyManagement>
 52         <build>
 53             <plugins>
 54                 <plugin>
 55                     <groupId>org.springframework.boot</groupId>
 56                     <artifactId>spring-boot-maven-plugin</artifactId>
 57                 </plugin>
 58             </plugins>
 59         </build>
 60     </project>

(2)在全局配置文件application.yml中添加Eureka的相关配置信息,具体如例2所示。
例2 eureka-provider\src\main\resources\application.yml

 1     server:
 2         port: 7006    #指定该provider的端口号
 3     spring:
 4         application:  #指定应用名称
 5             name: eureka-provider
 6     eureka:
 7         client:
 8             service-url:
 9                 defaultZone: http://localhost:7000/eureka/
 10     instance:
 11         hostname: localhost

在例2中,第2行代码指定了服务提供者的端口号,第5行代码指定了服务提供者的名称,第9行代码指定了Eureka Server的地址。
(3)在项目启动类EurekaProviderApplication上添加@EnableEurekaClient开启Eureka Client功能,具体如例3所示。
例3 eureka-provider\src\main\java\com\itheima\eurekaprovider\EurekaProviderApplication.java

 1     @EnableEurekaClient
 2     @SpringBootApplication
 3     public class EurekaProviderApplication {
 4         public static void main(String[] args) {
 5             SpringApplication.run(EurekaProviderApplication.class, args);
 6         }
 7     }

(4)保证Eureka Server启动的状态下,运行EurekaProviderApplication启动eureka-provider。启动成功后,控制台会输出如下信息:

DiscoveryClient_EUREKA-PROVIDER/172.16.43.19:eureka-provider:7006 -     registration status: 204

上述日志信息说明eureka-provider成功注册在Eureka Server。在浏览器中访问http://localhost:7000/,效果如图1所示。

图1 eureka-provider注册在Eureka Server的页面

在图1中,Instances currently registered with Eureka这一项中注册了一个EUREKA-PROVIDER的服务,说明我们的服务提供者已经成功注册到Eureka Server中。

点击此处
隐藏目录