`

第一篇: 服务的注册与发现(Eureka)

 
阅读更多
**eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件appication.yml:
server:
  port: 8761

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


通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.

在EurekaServer类中我们加入如下代码:
 
 @SpringBootApplication
 @EnableEurekaServer
  public class EurekaServer {

    public static void main(String[] args) {

    SpringApplication.run(EurekaServer.class, args);

      }

  }

可以看到只需要使用@EnableEurekaServer注解就可以让应用变为Eureka服务器,这是因为spring boot封装了Eureka Server,让你可以嵌入到应用中直接使用。至于真正的EurekaServer是Netflix公司的开源项目,也是可以单独下载使用的。

  在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服务器端口号。Eureka的配置属性都在开源项目spring-cloud-netflix-master中定义(spring boot连文档都没有,只能看源码了),在这个项目中有两个类EurekaInstanceConfigBean 和EurekaClientConfigBean,分别含有eureka.instance和eureka.client相关属性的解释和定义。从中可以看到
  • registerWithEureka
  • 表示是否注册自身到eureka服务器,因为当前这个应用就是eureka服务器,没必要注册自身,所以这里是false
  • fetchRegistry
  • 表示是否从eureka服务器获取注册信息,同上,这里不需要
  • defaultZone
  • 就比较重要了,是设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址


2)让服务使用eureka服务器

  让服务使用eureka服务器,只需添加@EnableDiscoveryClient注解就可以了。回到我们在上篇文章中实现的cloud-simple-service微服务应用。在main方法所在的Application类中,添加@EnableDiscoveryClient注解。然后在配置文件中添加:

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

  spring.application.name=cloud-simple-service

  其中defaultZone是指定eureka服务器的地址,无论是注册还是发现服务都需要这个地址。application.name是指定进行服务注册时该服务的名称。这个名称就是后面调用服务时的服务标识符(这是服务发现的功能,我们在后面章节具体介绍)。当然,pom文件也需要增加:

  <dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-eureka</artifactId>

  </dependency>

http://blog.csdn.net/forezp/article/details/69696915

Spring Cloud依赖库
这里我会罗列下常用的一些依赖包,为了更好理解每个依赖所负责的区域,我还是用一张和之前类似的图来展示各块的功能:

常用依赖包如下:
spring-cloud-starter-parent 具备spring-boot-starter-parent同样功能并附加Spring Cloud的依赖  
spring-cloud-starter-config 默认的配置服务依赖,快速自动引入服务的方式,端口8888  
spring-cloud-config-server/client 用户自定义配置服务的服务端/客户端依赖  
spring-cloud-starter-eureka-server 服务发现的Eureka Server依赖  
spring-cloud-starter-eureka 服务发现的Eureka客户端依赖  
spring-cloud-starter-hystrix/zuul/feign/ribbon 断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon)的依赖  
angular-ui-router 页面分发路由依赖  



springcloud eureka server 官方文档
http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-eureka-server

springcloud eureka client 官方文档
http://projects.spring.io/spring-cloud/spring-cloud.html#_service_discovery_eureka_clients

spring cloud 源代码学习
https://github.com/forezp/SpringCloudLearning

Spring cloud实现服务注册及发现
http://www.cnblogs.com/skyblog/p/5133752.html
分享到:
评论

相关推荐

    史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    在本教程中,我们将深入探讨Spring Cloud Eureka,它是Spring Cloud框架的一部分,用于实现服务的注册与发现。Eureka是Netflix公司开发的一个基于REST的服务,它可以帮助构建分布式系统中的服务发现机制。通过Eureka...

    最简单的Spring Cloud教程第一篇:服务的注册与发现(Eureka)

    其中,Eureka 是一个核心组件,专门负责服务的注册与发现。在微服务架构中,服务之间的通信至关重要,Eureka 作为服务注册中心,使得各个微服务能够找到彼此并进行通信。 创建 Eureka 服务注册中心的步骤如下: 1....

    Spring Cloud Eureka集群

    Eureka是Spring Cloud生态中的核心组件之一,它作为一个服务注册与发现的平台,提供服务实例的注册、心跳检测、故障剔除以及服务发现等功能。Eureka Server作为服务注册中心,各个微服务实例通过向Eureka注册自己的...

    SpringCloud之Eureka入门篇

    在本文中,我们将深入探讨Spring Cloud Eureka,它是Spring Cloud框架的一个重要组件,用于实现服务发现和服务注册。Eureka是Netflix开发的一个云中间件,它为分布式系统中的微服务提供了可靠的发现机制。让我们一起...

    SpringCloudLearning_forezp.tar.gz

    史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Finchley版本) 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本) 史上最简单的SpringCloud教程 | 第三篇: ...

    史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

    2. **配置Eureka**:在`application.yml`文件中,配置Eureka服务器的地址,使服务消费者能够注册并发现服务。 3. **启用Ribbon**:在主类上添加`@EnableRibbonClient`注解,指定服务提供者的名称,例如`movie-...

    SpringCloudDemo:Spring云演示项目

    第一节: 服务的注册与发现(Eureka) 标签: 1-0, 1-1 第二节: 服务消费者(Ribbon) 标签: 2-1 第三节: 服务消费者(Feign) 标签: 3-1 第四节: 断路器(Hystrix) 标签: 4-1, 4-2 第五节: 路由网关 (zuul) 标签: 5...

    尚硅谷SpringCloud第2季2020版.mmap

    Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign服务接口调用 Hystrix断路器 zuul路由网关 Gateway新一代网关 SpringCloud Config 分布式配置中心 ...

    微服务架构的组件设计.pptx

    本篇将深入探讨微服务架构中的关键组件设计,特别是服务注册与发现、服务调用与通信以及API网关。 ### 服务注册与发现 在传统的单体应用中,服务之间的依赖关系通常是硬编码的IP地址或DNS查询。然而,在微服务架构...

    SpringCloud学习第一天,helloWorld

    在本篇【SpringCloud学习第一天,helloWorld】的教程中,我们将初步接触并了解Spring Cloud这一微服务框架,以及如何创建一个基本的“Hello, World”应用。首先,我们需要理解Spring Cloud的核心概念和作用。 ...

    spring-cloud-jojo:spring-cloud 学习教程

    第一篇: eureka 服务注册 module:spring-cloud-eureka-server 1.1 添加Pom引用 &lt;dependencies&gt; &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-web &lt;groupId&gt;org.springframework...

    spring-cloud搭建.pdf

    在微服务架构中,服务注册与发现是核心功能之一,Eureka作为服务注册中心,各个微服务启动时将自己的信息注册到Eureka Server,同时每个服务也会从Eureka Server中拉取获取注册的服务列表,从而实现服务之间的调用。...

    Dubbo视频教程--基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码

    3. **服务注册与发现**:使用Dubbo的注册中心(如Zookeeper或Eureka)进行服务注册和发现。服务提供者在启动时会向注册中心注册自己的服务,而服务消费者则通过注册中心获取服务提供者的地址,实现动态路由。 4. **...

    Dubbo视频教程--高可用架构篇

    1. **服务注册与发现**:使用Zookeeper或Eureka等服务注册中心,服务提供者可以自动注册服务,而服务消费者可以动态发现并调用这些服务,增强了系统的动态扩展性和容错性。 2. **负载均衡**:Dubbo内置多种负载均衡...

    微服务 (第二部分)springcould_18

    1. 服务发现:Spring Cloud Netflix Eureka或Consul用于注册和发现服务,允许服务之间动态查找彼此。 2. 路由与负载均衡:Spring Cloud Zuul和Spring Cloud Gateway作为API网关,实现请求路由、过滤和负载均衡。 3. ...

    gulimall.zip 谷粒商城高级篇全部代码,已测试通过

    1. **Eureka**:它是SpringCloud的服务注册与发现中心。所有微服务都会向Eureka注册,并通过它来查找其他服务,实现服务之间的相互调用。这使得服务解耦,易于扩展和管理。 2. **Zuul**:作为边缘服务和API网关,...

    微服务 (第二部分)springcould_12

    1. **Eureka**:服务注册与发现。Eureka允许各个微服务之间互相发现彼此,通过注册和心跳机制来维持服务列表的更新。 2. **Zuul**:边缘服务和API网关。Zuul作为一个入口点,负责请求的路由、过滤和安全控制,同时...

    SpringCloud学习笔记(十一)微服务项目结构搭建 代码包

    1. **服务发现**:Eureka是SpringCloud中的服务注册与发现组件。每个微服务启动时会在Eureka服务器上注册自身,其他服务可以通过Eureka获取到服务的地址,实现服务之间的通信。在项目结构中,通常会有专门的Eureka...

    微服务 (第二部分)springcould_19(2)

    2. Spring Cloud Netflix Eureka:服务发现组件,帮助服务注册和发现。 3. Spring Cloud Ribbon:客户端负载均衡器,用于从Eureka服务器获取服务实例并进行负载均衡。 4. Spring Cloud Hystrix:断路器模式实现,...

    微服务 (第二部分)springcould_15

    1. **Eureka服务注册与发现**:Eureka是Netflix开源的基于REST的服务发现组件,用于服务实例的注册和发现。每个服务启动时都会向Eureka Server注册自己的位置,其他服务则通过Eureka来查找并调用这些服务。 2. **...

Global site tag (gtag.js) - Google Analytics