一、Eureka简单说明
Eureka是Spring-Cloud-Netflix中的组件,主要是实现微服务的治理功能。包括服务的注册与发现,服务健康检查等。如下图所示是Eureka的服务注册与服务消费的关系。
- Eureka Server
提供服务注册和发现 - Service Provider
提供服务,将自身服务注册到Eureka从而使服务消费方能查找到。 - Service Consumer
服务消费方,从Eureka获取注册服务列表,从而能够消费服务。
二、环境搭建
1、创建工程
如下图所示:
先创建一个父工程,一般是maven项目。然后在该父工程下添加一个模块,一个模块就是一个服务,也代指一个Spring boot工程。如下图所示:
2.导入依赖
在pom.xml文件中引入如下的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
3、修改配置文件application.properties信息(application.yml也行,这里我习惯用application.properties文件)
server.port=8089
eureka.instance.hostname=localhost
eureka.client.fetch-registry=false
eureka.client.register-with-eureka=false
eureka.client.serviceUrl.defaultZone=http://localhost:8089/eureka/
4、修改配置启动类
在启动类添加注解@EnableEurekaServer即可完成配置
@SpringBootApplication
@EnableDiscoveryClient
public class TeacherApplication {
public static void main(String[] args) {
SpringApplication.run(TeacherApplication.class, args);
}
}
说明:
- eureka.client.register-with-eureka=false 是否把自己注册到服务注册中心
- eureka.client.fetch-registry=false是否从服务注册中心获取注册信息。
- eureka.client.serviceUrl.defaultZone=http://localhost:8089/eureka/服务注册地址
5.在浏览器输入localost:8089
三、将服务提供者注册到Eureka Server
- 建立模块student
- 引入如下的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
- 修改配置文件application.properties
server.port=8091
eureka.client.serviceUrl.defaultZone=http://192.168.11.128:8089/eureka/
spring.application.name=teacher_service
spring.security.user.password=123456
debug=true
- 修改启动类,添加服务发现注解。
@SpringBootApplication
@EnableDiscoveryClient
public class TeacherApplication {
public static void main(String[] args) {
SpringApplication.run(TeacherApplication.class, args);
}
}
最后,启动起来观察服务注册中心,有如下的注册信息: