接上一篇:Spring cloud微服务搭建(四)——Spring cloud 消费方
Eureka是Netflix中的一个开源框架,用于服务注册与发现。
Eureka是C/S架构,服务实例分为两种:Eureka Server和Eureka Client。
Eureka服务方
1、Maven依赖
新增eureka server依赖包。
eureka服务端官方推荐用依赖包:spring-cloud-starter-netflix-eureka-server
,取代已经过时的spring-cloud-starter-eureka-server
。
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>3.0.0</version>
</dependency>
2、application.yaml
Eureka Server的application.yaml
- Eureka Server 服务端口:7001
eureka.instance.hostname
:Eureka服务端的实例名称eureka.client.register-with-eureka
:是否向注册中心注册自己eureka.client.fetch-registry
:false-表示自己为注册中心eureka.client.service-url
:与注册中心进行交互的地址,也就是监控页面service-url
是map键值对类型defaultZone
:表示默认的注册中心地址
server:
port: 7001
eureka:
instance:
hostname: localhost #Eureka服务端的实例名称
client:
register-with-eureka: false #是否向注册中心注册自己
fetch-registry: false #false表示自己为注册中心
service-url: #与注册中心进行交互的地址,监控页面
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3、启动类
@EnableEurekaServer
:表示为Eureka服务启动类,可以接收其它服务注册进来
@SpringBootApplication
@EnableEurekaServer //Eureka服务启动类,可以接收其它服务注册进来
public class EurekaServer_7001 {
public static void main(String[] args) {
SpringApplication.run(EurekaServer_7001.class,args);
}
}
服务提供方
1、Maven依赖
新增eureka client依赖包。
eureka客户端官方推荐使用依赖包:spring-cloud-starter-netflix-eureka-client
,取代已经过时的spring-cloud-starter-eureka
。
【注意】:spring-cloud-starter-netflix-eureka-client
已经内置ribbon支持。后面整合ribbon时无需再导入ribbon依赖包。
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>3.0.0</version>
</dependency>
2、application.yaml
eureka.client.service-url
:向Eureka注册中心注册服务的地址defaultZone
:表示默认地址,跟Eureka Server的defaultZone
保持一致
eureka.instance.instance-id
:注册到Eureka注册中心的实例名称。
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
instance:
instance-id: springcloud-provider-8001
3、启动类
需要新增@EnableEurekaClient
注解,开启对Eureka Client的支持
@SpringBootApplication
@EnableEurekaClient
public class DepartmentProvider8001 {
public static void main(String[] args) {
SpringApplication.run(DepartmentProvider8001.class,args);
}
}
测试执行
- 先启动Eureka Server启动类,开启7001端口
- 再启动服务提供方启动类,开启8001端口
在浏览器输入http://localhost:7001,返回监控页面,可以看到服务提供方实例。
更多:
Spring cloud开发环境搭建(一)——maven依赖