使用 Spring Cloud 构建微服务之一 Eureka Server

feng qijun
Apr 11, 2018 · 3 min read

微服务这事,说起来比做起来容易多了。感谢 Pivotal, 有了 Spring Boot, 有了 Spring Cloud, 当然也要感谢 Netflix,为Spring Cloud贡献了那么多优秀的项目。

服务的注册和发现 — Eureka

作为一个服务的提供者,需要想一个中枢注册自己这个服务。 作为服务的使用者,需要有一个统一的地方,可以查找都有那些服务可以用。比如以前的中国黄页,甚至现在的Google,都形式上类似。

Eureka 就是 Netflix 开源贡献的一个优秀的服务注册和发现项目。

构建 Eureka Server

使用 Eureka Server 构建服务注册和发现应用。我使用 IntelliJ 作为开发工具,在项目新建的 Wizard 中,添加 Eureka Server 服务:

只需要在 SpringApplication 上添加一个 EnableEurekaServer 的注解,

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

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

并且设置一些服务的属性,就可以启动一个 Eureka Server

server.port=8000# 是否注册到 eureka 上, 本身是server,所以不注册
eureka.client.register-with-eureka
=false
# 是否从 server 获取注册的服务的信息。
eureka.client.fetch-registry
=false
# 指定 Eureka Server 地址
eureka.client.serviceUrl.defaultZone
=http://localhost:8000/eureka

因为所有服务都在本地,所以指定了端口为8000,方便记忆。 Eureka 默认的端口是 8761。

访问 localhost:8000, 看到的界面应该如下图所示。目前,一个注册的instances 都还没有。

接下去,我们在开发一个 Service Provider 注册到这个Eureka上去。

示例代码: Demo地址在这里

feng qijun

Written by

I program, use java, ruby, javascript and other web technoligies. I used to write iPhone apps.

More From Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade