说明:SpringCloud系列笔者自学系列,学习来源是周立的博客 http://www.itmuch.com/ 。而此处转载其博客只是为了方便自己以后的学习。
本篇来源 http://www.itmuch.com/spring-cloud/finchley-5/
本节讲解基于Eureka的服务发现。
Eureka简介
Eureka是Netflix开源的服务发现组件,本身是一个基于REST的服务,包含Server和Client两部分,Spring Cloud将它集成在子项目Spring Cloud Netflix中。
拓展阅读
-
Eureka的GitHub:https://github.com/Netflix/Eureka
-
Netflix是一家在线影片租赁提供商。
-
Eureka的典故:阿基米德发现浮力时,非常开心,于是说:“Eureka!”意思是“我找到了!”。Netflix将它们的服务发现组件命名为Eureka实在是非常形象。
理解跟我学Spring Cloud(Finchley版)-04-服务注册与服务发现-原理剖析 所讲的服务发现原理后,我们来编写基于Eureka的服务发现——首先编写一个Eureka Server,然后将前文的微服务都注册到Eureka Server上。
编写Eureka Server
-
加依赖
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies> -
加注解
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
} -
写配置
server:
port: 8761
eureka:
client:
# 是否要注册到其他Eureka Server实例
register-with-eureka: false
# 是否要从其他Eureka Server实例获取数据
fetch-registry: false
service-url:
defaultZone: http://localhost:8761/eureka/
TIPS
这里,大家可先不去探究registerWithEureka
以及fetchRegistry
究竟是什么鬼,笔者将在下一节为大家揭晓。
将应用注册到Eureka Server上
-
加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency> -
加注解
public class ProviderUserApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderUserApplication.class, args);
}
}注意:早期的版本(Dalston及更早版本)还需在启动类上添加注解
@EnableDiscoveryClient
或@EnableEurekaClient
,从Edgware开始,该注解可省略。 -
添加配置:
spring:
application:
# 指定注册到eureka server上的服务名称,对于电影微服务,本系列将名称设为microservice-consumer-movie
name: microservice-provider-user
eureka:
client:
service-url:
# 指定eureka server通信地址,注意/eureka/小尾巴不能少
defaultZone: http://localhost:8761/eureka/
instance:
# 是否注册IP到eureka server,如不指定或设为false,那就会注册主机名到eureka server
prefer-ip-address: true
测试
-
依次启动Eureka Server以及用户微服务、电影微服务;
-
访问
http://localhost:8761
可观察到类似如下界面: -
将用户微服务停止,可看到Eureka Server首页变成类似如下界面:
配套代码
-
GitHub:
- Eureka Server:https://github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-discovery-eureka
- microservice-provider-user:https://www.github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-provider-user
- microservice-consumer-movie:https://github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-consumer-movie
-
Gitee:
- Eureka Server:https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-discovery-eureka
- microservice-provider-user:https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-provider-user
- microservice-consumer-movie:https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-consumer-movie
相关文章
- 跟我学Spring Cloud(Finchley版)番外-01-Eureka安全详解
- 跟我学Spring Cloud(Finchley版)-06-服务注册与服务发现-Eureka深入
- 跟我学Spring Cloud(Finchley版)-04-服务注册与服务发现-原理剖析
- 关于Eureka 2.x,别再人云亦云了!
- Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos
相关推荐
spring-cloud-starter-netflix-eureka-server-1.4.5.RELEASE.jar
本项目"springcloud-Netflix-eureka demo"提供了一个基于Spring Boot搭建的基础服务框架,旨在帮助开发者理解和学习如何使用Eureka进行服务注册与发现,以及Ribbon客户端负载均衡。 首先,我们来看Eureka。Eureka是...
在分布式微服务架构中,服务治理扮演着至关重要的角色,而SpringCloud Eureka Server正是这样一款专为解决服务注册与发现问题而设计的组件。本文将围绕"springcloud-eureka-server.zip"这个项目,深入探讨Spring...
spring-cloud-starter-eureka-server-1.4.5.RELEASE.jar
- 添加必要的依赖,包括`spring-cloud-starter-netflix-eureka-server`,这是Eureka服务注册中心的核心依赖,以及`spring-boot-starter-test`用于测试。 - 在`pom.xml`文件中,设置`spring-cloud.version`属性为`...
Spring Cloud Eureka Server是Spring Cloud框架中的一个关键组件,它主要负责服务的注册与发现,是微服务架构中实现服务治理的重要工具。Eureka Server作为服务注册中心,为其他微服务提供服务注册和发现的能力,...
首先,Spring Cloud Eureka是Netflix公司提供的一个服务注册与发现组件,它允许微服务实例向Eureka Server注册自身,同时也允许客户端通过Eureka Server找到其他服务实例。Eureka提供了高可用的服务注册中心,确保...
Eureka修改增加页面操作,用于多人开发测试操作流程。可以更好的进行协调操作,只需要替换本地仓库的jar包就行
├──cloud-eureka-server──────────────服务注册中心[8761] ├──cloud-turbine-server─────────────断路器聚合监控[8769] ├──cloud-zipkin-server──────────────...
在这个实例中,我们将探讨如何利用 Spring Cloud Eureka 实现服务注册与发现,以及相关的配置和实践。 首先,Spring Boot 是一个快速开发框架,它简化了创建独立、生产级别的基于 Spring 的应用程序。版本 2.1.10....
spring-cloud-netflix-eureka-server-1.4.5.RELEASE.jar
在Spring Cloud生态系统中,Eureka是核心组件之一,主要用于服务发现和服务注册。Eureka通过将服务实例注册到Eureka Server,使得服务消费者可以方便地找到并调用这些服务。本项目"SpringCloud-服务注册与实现-...
在微服务架构中,服务发现是至关重要的一个环节,SpringCloud作为主流的微服务框架,提供了丰富的组件来支持这一功能,其中Eureka便是用于服务注册与发现的核心组件。本文将深入探讨SpringCloud 2.0版本下Eureka服务...
1. **Eureka**:Eureka是Spring Cloud Netflix项目的一部分,用于实现服务注册与发现。服务启动后会自动向Eureka Server注册,其他服务可以通过Eureka Server查找并消费这些服务。Eureka通过心跳机制来监控服务的...
spring-cloud-config-eureka-bus:配置中心和消息总线示例(配置中心终结版) gateway-service-zuul:Spring Cloud Zuul使用初级篇 网关 均衡负载 spring-cloud-zuul:Spring Cloud Zuul使用高级篇 Filter 鉴权 熔断...
本项目“springcloud-provider-consumer-eureka”旨在提供一个基础的SpringCloud入门示例,涵盖了一个简单的用户服务提供者(Provider)和一个电影服务消费者(Consumer),以及对服务注册与发现组件Eureka的初步...
《深入理解Spring Cloud Netflix Hystrix:构建弹性微服务...在实际项目中,结合Spring Cloud其他组件,如Eureka(服务发现)、Zuul(API网关)等,可以构建出更为完善的微服务体系,提升整体系统的稳定性和可维护性。
1. **Eureka**:服务注册与发现。Eureka是Netflix开源的服务注册和发现组件,每个微服务启动后,都会向Eureka Server注册自己的信息,消费者通过Eureka Server获取服务提供者的信息,实现服务之间的调用。 2. **...
Eureka是Spring Cloud中的核心组件,它提供服务注册与发现的功能。在"spring-cloud-demo-master"项目中,Eureka作为服务治理的中心,负责维护各个服务实例的信息。服务启动后,会向Eureka Server注册自身,其他服务...