搭建服务提供者
下面搭建一个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中。