Eureka是Netflix开发的一个服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS(Amazon Web Services)域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
Eureka包括两大组件:
服务端发现组件(Eureka Server):也被称为服务注册中心,提供服务注册功能。
客户端发现组件(Eureka Client)主要用于处理服务的注册于发现。
使用Eureka注册服务步骤:
1.创建服务端代码
a. 创建maven项目
b.向pom.xml文件中添加eureka server依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-eureka-server</artifactId>
</dependency>
c.在application.yml文件中 添加对应配置
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
#是否向服务注册中心注册自己
register-with-eureka: false
#是否检索服务
fetch-registry: false
#服务注册中心的配置内容,指定服务注册中心的位置
service-url:
default Zone: http://${eureka.instance.hostname}:${server.port}/eureka/
#关闭保护机制,确保注册中心可以将不可用的实例正确删除
server:
enable-self-preservation: true
d.在启动类中添加注解@EnableEurekaServer
2.创建客户端服务代码
a. 创建maven项目
b.向pom.xml文件中添加eureka server依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
c.在application.yml文件中 添加对应配置
eureka:
instance:
#是否显示服务ip地址
prefer-ip-address: true
#ip地址显示格式
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
client:
#注册中心地址,注意default Zone需要手动输出,没有提醒
service-url:
default Zone: http://localhost:8761/eureka/
d.在启动类中添加注解@EnableEurekaClient
至此Eureka 服务端与客户端服务发现已完成,先启动服务端项目,再启动客户端项目,浏览器访问http://localhost:8761/eureka/,即可看到Eureka的信息面板