简介
Spring Cloud Eureka是Spring Cloud Netflix 子项目的核心组件之一,主要用于微服务架构中的服务治理。 本文将对搭建Eureka注册中心,搭建Eureka客户端。
在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。
搭建Eureka注册中心与客户端
Eureka注册中心
1、创建一个eureka-server模块,并使用Spring Initializer初始化一个SpringBoot项目。按照下图选择:
2、检查依赖(因为已经选择了Eureka Server,所以pom.xml中已经包含)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
3、在启动类上添加@EnableEurekaServer注解来启用Euerka注册中心功能。
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
4、修改application.properties为application.yml,并进行配置。(非必须修改,习惯性操作)
server:
port: 8001 #指定运行端口
spring:
application:
name: eureka-server #指定服务名称
eureka:
instance:
hostname: localhost #指定主机地址
client:
fetch-registry: false #指定是否要从注册中心获取服务(注册中心不需要开启)
register-with-eureka: false #指定是否要注册到注册中心(注册中心不需要开启)
server:
enable-self-preservation: false #关闭保护模式
5、启动运行。
此时服务已经创建完成,点击启动类的main方法就可以运行了。
运行完成后访问地址http://localhost:8001/可以看到Eureka注册中心的界面。
Eureka客户端
1、新建一个eureka-client模块,并在pom.xml中添加如下依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、启动类上添加@EnableDiscoveryClient注解表明是一个Eureka客户端。
@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
3、修改application.properties为application.yml,并进行配置。(非必须修改,习惯性操作)
server:
port: 8101 #运行端口号
spring:
application:
name: eureka-client #服务名称
eureka:
client:
register-with-eureka: true #注册到Eureka的注册中心
fetch-registry: true #获取注册实例列表
service-url:
defaultZone: http://localhost:8001/eureka/ #配置注册中心地址
4、启动,运行,查看注册中心http://localhost:8001/发现Eureka客户端已经成功注册。
Eureka还可以搭建注册中心集群,来满足服务高可用问题。
参考:MacroZheng