使用 Eureka 实现服务注册与发现

Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。

本例子将演示如何通过 Spring Cloud Eureka 来快速实现服务的注册和发现。

开发环境

  • Gradle 4.0
  • Spring Boot 2.0.0.M3
  • Spring Cloud Netflix Eureka Server Finchley.M2
  • Spring Cloud Netflix Eureka Client Finchley.M2

从 Spring Initializr 进行项目的初始化

访问http://start.spring.io/ 进行项目的初始化。我们将该项目命名为micro-weather-eureka-server

更改配置

根据下面两个博客的指引来配置,加速项目的构建。

启用 Eureka Server

为启用 Eureka Server ,在 Application 上增加@EnableEurekaServer注解即可。

@SpringBootApplication
@EnableEurekaServer
public class Application {

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

修改项目配置

修改 application.properties,增加如下配置。

server.port: 8761

eureka.instance.hostname: localhost
eureka.client.registerWithEureka: false
eureka.client.fetchRegistry: false
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

其中:

  • server.port: 指明了应用启动的端口号
  • eureka.instance.hostname: 应用的主机名称
  • eureka.client.registerWithEureka: 值为false意味着自身仅作为服务器,不作为客户端
  • eureka.client.fetchRegistry: 值为false意味着无需注册自身
  • eureka.client.serviceUrl.defaultZone: 指明了应用的URL

启动 Eureka Server

启动应用,访问http://localhost:8761/,可以看到 Eureka Server 自带的 UI 管理界面。

创建 Eureka Client

我们在micro-weather-eureka-server基础上,将创建一个micro-weather-eureka-client 作为客户端,并演示如何让将自身向注册服务器进行注册,让其可以其他服务都调用。

更改配置

增加如下配置:

dependencies {
    //...

    compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')

    //...
}

一个最简单的 Eureka Client

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class Application {

    @RequestMapping("/hello")
    public String home() {
        return "Hello world";
    }

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

其中@EnableDiscoveryClient启用了服务发现的功能,只要 Eureka Client 启动了,就能被 Eureka Server 所感知。

项目配置:

spring.application.name: micro-weather-eureka-client

eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/

运行

分别在 8081 和 8082 上启动了客户端示例。

java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8081

java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8082

可以在 Eureka Server 上看到这两个实体的信息。

源码

时间: 2024-10-29 07:44:14

使用 Eureka 实现服务注册与发现的相关文章

springcloud 微服务架构之eureka服务注册与发现

springcloud 微服务架构之eureka服务注册与发现 视频播放地址: http://www.365yg.com/item/6434376645263491585/

基于containerpilot的服务注册与发现

所谓分久必合合久必分,分治可以解决all in one的问题,但是更多的问题因为隔离而产生,为了解决这些问题又会有相应的工具产生.作为已经不算火热的微服务概念,落地解决方案也渐渐成熟和成型,为了说明containerpilot的适用场景,首先简单说明白几个基本概念. 微服务 不管是前端还是后端服务,项目开始的时候追求短平快,所有的代码会放在一个代码库中,基于同一个框架和语言开发,顶多根据文件或者文件夹做一下模块化.前端和后端服务做一下分离(或者也没有做),放在一个SLB后面,作为无状态的应用服务

CentOS 安装 Consul 服务注册和发现软件

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/56296013 未经博主允许不得转载. 博主地址是:http://blog.csdn.net/freewebsys 1,关于Consul Consul 简化了分布式环境中的服务的注册和发现流程,通过 HTTP 或者 DNS 接口发现. 有了很多实用的功能. 一致性协议采用 Raft 算法,来保证服务的高可用. 项目地址:https://www.consul.io/ github地

高可用的服务注册中心

前面的服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太合适的,这篇文章主要介绍怎么将Eureka Server集群化. 一.准备工作 Eureka can be made even more resilient and available by running multiple instances and asking them to register with

《Spring Cloud Netflix》 -- 服务注册和服务发现-Eureka的常用配置

一.版本的说明 Angel版本对应Spring Boot 1.2.x,可以使用Spring Boot 1.3.x: Brixton版本对应Spring Boot 1.3.x,可以使用Spring Boot 1.4.x: Camden版本对应Spring Boot 1.4.x,可以使用Spring Boot 1.5.x: Dalston版本对应Spring Boot 1.5.x 二.应用进行热部署 添加依赖: <dependency> <groupId>org.springframe

《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群

一. Eureka的服务认证 1. 服务端添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> 2. 服务端添加配置 服务认证 security.basic.enabled=true security.user.name=ronco

springcloud微服务二:Eureka服务治理之服务注册中心

当初步的学习了spring boot,了解了spring boot的基本实现过程后,我就正式开始学习spring cloud,首先就从Eureka服务治理开始. 服务治理包含三个核心的角色:服务注册中心.服务提供者和服务消费者,他们相对独立,新的服务要向服务注册中心注册,新的消费者会向服务注册中心索引服务列表. 一番了解之后,让我想到了人才招聘.在我看来,现在普遍存在的招聘形式也是分为了三个部分:招聘网站或者人才市场.发布招聘需求的企业.需要找工作的人.当然了,也可以把企业和人换一下位置,那就是

使用 UDDI 的 Web 服务描述和发现(第一部分)[转自微软]

web|微软 使用 UDDI 的 Web 服务描述和发现(第一部分) Karsten JanuszewskiMicrosoft Corporation 2001年10月3日 查看和下载本文的源代码(英文).简介到目前为止,At Your Service 专栏已经介绍了如何建立 Web 服务的实际案例:从最初的设计文档到业务关联,直至最终的部署.下一步就是要考虑如何发布 Web 服务,以便感兴趣的客户能够轻松地发现该服务并将其应用到自己的应用中.现在已经有了实现这种要求的发现机制:通用说明.发现和

使用 UDDI 的 Web 服务描述和发现(第二部分)[转自微软]

web|微软 使用 UDDI 的 Web 服务描述和发现(第二部分) Scott SeelyMicrosoft Corporation 2001年10月17日 简介在上一个专栏中,Karsten Januszewski 已经带我们访问了 Microsoft UDDI 小组.Karsten 概要介绍了 UDDI 的概念.用途和使用方法.在本文中,我们将介绍如何使用 Microsoft UDDI 注册表注册"Cold Rooster 收藏服务".鉴于我们以前从未使用 UDDI 进行过注册,