服务注册:如何构建单点 Eureka 服务器
Posted JAVA每天小记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务注册:如何构建单点 Eureka 服务器相关的知识,希望对你有一定的参考价值。
上一篇文章,我们全面介绍了服务治理的解决方案,引出了 Spring Cloud Netflix Eureka 组件。Eureka 分为服务器端组件和客户端组件,今天我们将讨论 Eureka 服务器的构建方式及其实现原理。
基于 Eureka 构建注册中心
基于 Eureka 构建服务注册中心涉及两大部分内容,首先我们将给出构建单个 Eureka 服务器的方法。但是,Eureka 服务器不能保证高可用,因此在生产环境中,我们一般都还需要构建 Eureka 服务器集群。
今天就介绍如何构建单点Eureka服务器
我们将创建一个新的 Maven 工程并命名为 eureka-server。eureka-server 是一个 Spring Boot 项目。同时我们引入了 spring-cloud-starter-eureka-server 依赖,该依赖是 Spring Cloud 中实现 Spring Cloud Netflix Eureka 功能的主体 jar 包:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
引入 Maven 依赖之后就可以创建 Spring Boot 的启动类,在示例代码中,我们把该启动类命名为 EurekaServerApplication,代码如下所示。
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
请注意,在上面的代码中,我们在启动类上加了一个 @EnableEurekaServer 注解。在 Spring Cloud 中,包含 @EnableEurekaServer 注解的服务意味着就是一个 Eureka 服务器组件。
我们运行这个 EurekaServerApplication 类访问http://localhost:8761/,如果得到 Eureka 服务监控页面,则意味着 Eureka 服务器已经启动成功。
同时,Eureka 也为开发人员提供了一系列的配置项。这些配置项可以分成三大类,一类用于控制 Eureka 服务器端行为,以 eureka.server 开头;一类则是从客户端角度出发考虑配置需求,以 eureka.client 开头;而最后一类则关注于注册到 Eureka 的服务实例本身,以 eureka.instance 开头。请注意,Eureka 除了充当服务器端组件之外,实际上也可以作为客户端注册到 Eureka 本身,这时候它使用的就是客户端配置项。
Eureka 的配置项很多,我们无意一一进行展开。在日常开发过程中,使用的最多的还是客户端相关的配置,所以这里以客户端配置为例。现在,我们尝试在 eureka-server 工程的 application.yml 文件中添加了如下配置信息。
server:
port: 8761
eureka:
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8761
以上是关于服务注册:如何构建单点 Eureka 服务器的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud 注册中心 Eureka 集群是怎么保持数据一致的?