上一节Eureka服务已经搭建好了,接下来我们看下如何应用即服务发现,主要分几步,首先需要一个生产者,其次需要一个消费者,都注册到Eureka中,消费者通过服务发现即可调用生产者
1.新建一个生产者项目
idea中新建一个Spring Initializr,引入spring Cloud包信息
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2020.0.3</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
在application.yml文件中指定Eureka服务中心
server:
port: 8001 #端口
spring:
jpa: #引入jpa框架
generate-ddl: false
show-sql: true
hibernate:
ddl-auto: none
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///mysql?useUnicode=true&characterEncoding=utf8
username: ****
password: ****
application:
name: msc-provider-depart #指定当前微服务对外暴露的名称
logging: #配置日志
pattern:
console: level-%level %msg%n
level:
root: info
org.hibernate: info
org.hibernate.type.descriptor.sql.BasicBinder: trace
org.hibernate.type.descriptor.sql.BasicExtractor: trace
com.test.zzy: debug
eureka:
client:
service-url:
defaultZone: http://localhost:8003/eureka # 指定服务中心
# 指定当前客户端在注册中心的名称
instance:
instance-id: msc-provider-8001
info: #自定义服务信息
auth: Xiaoming
app.name: xmmsc
app.desc: this is a msc of company
company.name: www.xiaoming.com
company.addr: Fujian China
2.定义生产者controller信息
自定义controller信息,其中DiscoveryClient是Spring Cloud中一个服务发现客户端接口,通过它可以获取到所有的服务,在实际使用过程中通过在Eureka注册的名称即可获取到对应的服务调用
3.启动类启用服务发现客户端
4.新建一个消费者项目
同生产者项目一样,application.yml中同样需指定Eureka服务中心如下
server:
port: 8002
spring:
application:
name: msc-consumer-depart
eureka:
client:
service-url:
defaultZone: http://localhost:8003/eureka
instance:
instance-id: msc-consumer-8002
4.自定义消费者Controller信息
在controller直接根据生产者暴露在Eureka上的应用名即可找到生产者然后调用生产者的业务处理逻辑,同样启动类中需要加入服务发现客户端注解
5.分别启动Eureka服务和生产者消费者工程
启动后,访问发现eruka可以发现两个应用
用postman工具测试成功
生产者控制台输出信息