首页 > 其他分享 >Eureka

Eureka

时间:2023-08-07 15:05:33浏览次数:27  
标签:服务 server eureka 注册 Eureka 列表

There are many things that seem impossible only so long as one does not attempt them. 很多事情看起来不可能只是因为没有人尝试过。

1、设计架构

1、Eureka采用C-S的设计架构,包含Eureka Server 和Eureka Client两个组件 2、Applecation-server :服务提供者 Application-cliene:服务消费者 服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用

eureka作为分布式系统的注册中心,主要作用是用于服务治理 eureka分为eureka server和eureka client

2、启动与调用流程

每一个微服务中都有eureka client,用于服务的注册于发现 (服务的注册:把自己注册到eureka server) (服务的发现:从eureka server获取自己需要的服务列表)

每一个微服务启动的时候,都需要去eureka server注册

当A服务需要调用B服务时,需要从eureka服务端获取B服务的服务列表,然后把列表缓存到本地,然后根据ribbon的客户端负载均衡规则,从服务列表中取到一个B服务,然后去调用此B服务 当A服务下次再此调用B服务时,如果发现本地已经存储了B的服务列表,就不需要再从eureka服务端获取B服务列表,直接根据ribbon的客户端负载均衡规则,从服务列表中取到一个B服务,然后去调用B服务

微服务,默认每30秒,就会从eureka服务端获取一次最新的服务列表

如果某台微服务down机,或者添加了几台机器, 此时eureka server会通知订阅他的客户端,并让客户端更新服务列表, 而且还会通知其他eureka server更新此信息

3、心跳检测

心跳检测,微服务每30秒向eureka server发送心跳, eureka server若90s之内都没有收到某个客户端的心跳,则认为此服务出了问题, 会从注册的服务列表中将其删除,并通知订阅它的客户端更新服务列表, 而且还会通知其他eureka server更新此信息

4、保护机制

eureka server保护机制,通过打卡开关,可以让eureka server处于保护状态,主要是用于某eureka server由于网络或其他原因,导致接收不到其他微服务的心跳,此时不能盲目的将其他微服务从服务列表中删除。 具体规则:如果一段时间内,85%的服务都没有发送心跳,则此server进入保护状态,此状态下,可以正常接受注册,可以正常提供查询服务,但是不与其他server同步信息,也不会通知订阅它的客户端,这样就不会误杀其他微服务

5、yml配置

server:
  port: 7001


eureka:
  instance:
    hostname: eureka7001.com #eureka服务端的实例名称
  client:
    register-with-eureka: false     #false表示不向注册中心注册自己。
    fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #集群指向其它eureka
      #defaultZone: http://eureka7002.com:7002/eureka/
      #单机就是7001自己
      defaultZone: http://eureka7001.com:7001/eureka/
    #server:
    #关闭自我保护机制,保证不可用服务被及时踢除
    #enable-self-preservation: false
    #eviction-interval-timer-in-ms: 2000

标签:服务,server,eureka,注册,Eureka,列表
From: https://blog.51cto.com/u_11906056/6993804

相关文章

  • Java面试题 P54:微服务篇:微服务-服务注册和发现是什么意思?SpringCloud如何实现服务注册
              ......
  • 1分布式微服务技术栈-SpringCloud<Eureka,Ribbon,nacos>
    微服务技术栈一、微服务介绍了解1架构结构案例与springboot兼容关系拆分案例拆分服务拆分-服务远程调用2eureka注册中心Eureka-提供者与消费者Eureka-eureka原理分析Eureka-搭建eureka服务Eureka-服务注册Eureka-服务发现3Ribbon组件负载均衡Ribbon-负载均衡原理Ribbon-负载......
  • spring cloud Eureka 注册中心
    SpringCloud是一组框架和工具集,用于快速构建分布式系统,为微服务架构提供了全套技术支持。其中,注册中心是SpringCloud微服务架构中的一个重要组件,它提供了服务注册和发现的功能,是构建分布式系统的基础。本文将介绍SpringCloud中的Eureka注册中心,并给出相应的示例说明。Eureka注......
  • 【spring cloud学习】3、Eureka Server注册中心
    Eureka本身是Netflix开源的一款注册中心产品,并且SpringCloud提供了相应的集成封装。选择Eureka作为注册中心实例来讲解是出于以下原因:(1)Eureka在业界的应用十分广泛,整个框架经受住了Netflix严酷生产环境的考验。(2)除了Eureka注册中心外,Netflix的其他服务治理功能也十分强大,包括Ribbo......
  • Nacos与Eureka的区别有哪些?
    Nacos与Eureka有相同点,也有不同之处,可以从以下几点来描述:接口方式:Nacos与Eureka都对外暴露了Rest风格的API接口,用来实现服务注册、发现等功能实例类型:Nacos的实例有永久和临时实例之分;而Eureka只支持临时实例健康检测:Nacos对临时实例采用心跳模式检测,对永久实例采用主动请求来......
  • Eureka
    消费者和提供者之前远程调用使用restTemplate来发送http请求获取服务,当地址改变,需要修改代码(硬编码),当有多个地址可提供服务,该选择那个?Eureka注册中心当服务启动时,Eureka注册中心会将服务信息记录下来,当有服务需要其它服务,则通过Eureka来寻找服务。服务会每隔30s发送心跳续约......
  • SpringCloud依赖问题:spring-cloud-starter-eureka-server 和 spring-cloud-starter-ne
    学习SpringCloud微服务时,很多资料上都写的是spring-cloud-starter-eureka-server,结果问题无法正常启动,这是因为与当前的SpringBoot版本不匹配。其实较新的版本应该使用spring-cloud-starter-netflix-eureka-server依赖。PS:SpringCloud的版本不兼容好坑。......
  • 微服务 – Spring Cloud – Eureka – Discovery 服务发现
    如何发现服务呢?服务注册到Eureka集群中。需要通过RestTemplate和@LoadBalanced实现服务发现调用(http)。在上一篇笔记中,order服务通过estTemplate和@LoadBalanced实现调用payment服务.是通过注册在Eureka集群中的服务名称来调用的。那么如何发现这些服务呢?也就是......
  • 微服务 – Spring Cloud – Eureka - RestTemplate和@LoadBalanced 实现服务发现调用(
    背景:服务注册用的是Eureka集群。服务调用用的是注解@LoadBalanced和RestTemplate服务数量两个:order服务和pyment服务(order服务是调用者。payment服务是被调用者)首先将order服务和payment服务注册Eureka集群中。通过order调用payment服务Eureka集......
  • 微服务 - Spring Cloud - Eureka Server单机和集群搭建、单机服务注册和集群服务注册
    Eureka服务管理Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能Eureka服务注册与发现Eur......