Eureka 学习之服务注册(一)

Eureka 学习之服务注册(一)

Posted by 金志宏 on August 1, 2019

Eureka 学习之服务注册(一)

1. 简介

Eureka Server 服务注册中心是Spring Cloud Netflix 中的一个组件Spring Cloud Netflix 通过自动配置为Spring Boot应用程序提供Netflix OOS集成。通过一些简单的注释,可以快速配置和启用应用程序,并用成熟的Netflix组件构建大型分布式系统。其中包括服务发现Eureka,断路器Hystrix ,智能路由Zuul,负载均衡等。(以上是官网原话)。

以下 Eureka 学习的系列博客记录自己学习 Eureka 的整个过程

2. Eureka Server

由于我是用 idea 自带的 spring Initializr 插件创建的,也可以通过 https://start.spring.io 创建并下载Demo程序 Eureka Server 的创建很简单,只要通过注解和配置文件就能快速启动一个Eureka Server

2.1 创建项目

  1. Idea 通过 File-New-project 选择 Spring Initializr 插件创建,其它默认 Next

edEbs1.png

  1. 配置自己的 Project Metadata

edEqqx.png

  1. 选择 Spring Cloud Discovery 中的 Eureka Server 依赖 然后 Next 到底创建

edZVn1.png

2.2 快速配置

  1. 对 application.properties 进行配置,也可以使用 yml 文件,看个人喜好了。
# Eureka 服务端口号
server.port=10001
# 应用名
spring.application.name=spring-cloud-eureka-server
# Eureka 相关配置
# 1.主机名
eureka.instance.hostname=localhost
# 2.注册地址
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
# 3.单节点模式下关闭客户端行为 因为 Eureka Server 也可以互相注册作为集群,今后再讲
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
  1. SpringCloudEurekaServerApplication 增加 @EnableEurekaServer 注解
@SpringBootApplication
@EnableEurekaServer
public class SpringCloudEurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudEurekaServerApplication.class, args);
    }

}
  1. 启动 SpringCloudEurekaServerApplication 通过访问 http://localhost:10001 可以看到如下图则说明启动成功。是不是很简单

这个界面我们可以看到一些 Eureka Server的健康数据以及基本信息,比如:

  • server-uptime:已经启动的耗时
  • current-memory-usage:当前占用的内存总量
  • Instances currently registered with Eureka:注册到该中心的服务列表目前没有任何服务
  • ipAddr:当前Eureka Server的IP地址,如果没配置eureka.instance.ip-address使用默认的IP地址。

edm1eI.png

3. 参考

[Spring Cloud netflix 英文官网][https://spring.io/projects/spring-cloud-netflix]