SpringCloud-Eureka常用配置

这篇具有很好参考价值的文章主要介绍了SpringCloud-Eureka常用配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Eureka分为 注册中心、服务提供者、服务消费者。下面会分别介绍注册中心以及在集群情况下注册中心如何配置,以及服务消费者和服务提供者配置

一、概念

SpringCloud-Eureka常用配置

八个概念

服务注册、服务续约、服务获取、服务下线、服务调用、服务同步、失效剔除、自我保护

1、服务提供者
服务注册中心之间:服务注册、服务续约、服务下线

2、服务消费者
与注册中心:服务获取、服务下线
与服务提供者:服务调用

3、注册中心
与其他注册中心:服务同步
与服务提供者或者服务消费者:失效剔除、自我保护

二、整体流程

SpringCloud-Eureka常用配置

左边是服务消费者,右边是服务提供者

服务消费者和注册中心
1、注册中心和服务消费者通过长连接的方式,定时推送(push) 到服务消费者,这个push不会推送任何内容,只是用来做心跳检测用。判断通讯是否正常。
2、服务消费者通过【短连接】 定时轮询从注册中心拉取(pull)服务Ip列表,拿到后存到本地缓存,定时更新,使用时直接从缓存里面取。
3、在服务列表选择的时候,通过ribbon路由得到具体的某一个服务提供者向其发起调用。

服务提供者和注册中心
1、服务提供者向注册中心 发起服务注册
2、注册中心向服务提供者发起心跳检测,如果服务不存则剔除,如果存在则更新最后一次心跳的时间戳。

三、Eureka服务端配置(注册中心)

1、单个注册中心,注意一个注册中心也可以有多个服务实例

server.port=10000    #注册中心的Ip地址,下面要用到
management.security.enabled=false
spring.application.name=eureka-server    #服务名
eureka.instance.hostname=eureka  #定义eureka主机名,下面要用到

eureka.client.register-with-eureka=false #false表示不向注册中心注册自己
eureka.client.fetch-registry=false #是否从Eureka Server获取注册的服务信息,false表示自己端就是注册中心,我的职责就是维护服务实例

###注册中心url
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

eureka.server.enable-self-preservation=false #自我保护模式

2、Eureka集群的配置

如果Eureka有很多个注册中心,那么我们就可以给每个Eureka配置不同的端口,比如10000,10001,10002,那么我们在配置Eureka集群的时候就可以这样配了

#eureka1的配置(注册中心1)

server.port=10000
eureka.instance.hostname=eureka1.com
#配置多个注册中心url
eureka.client.service-url.defaultZone=http://eureka1.com:10000/eureka/,http://http://eureka2.com:10001/eureka/,http://http://eureka3.com:10002/eureka/
#上面其实就是eureka服务名+端口号:http://${eureka.instance.hostname}:${server.port}/eureka/

#eureka2的配置(注册中心2)

server.port=10001
eureka.instance.hostname=eureka2.com
eureka.client.service-url.defaultZone=http://eureka1.com:10000/eureka/,http://http://eureka2.com:10001/eureka/,http://http://eureka3.com:10002/eureka/

#eureka3的配置(注册中心3)

server.port=10002
eureka.instance.hostname=eureka3.com
eureka.client.service-url.defaultZone=http://eureka1.com:10000/eureka/,http://http://eureka2.com:10001/eureka/,http://http://eureka3.com:10002/eureka/

当我们进到其中一个Eureka后台的时候,就可以在该集群下3台服务的状态。

3、配置说明

3.1 Eureka的自我保护,默认是true

eureka.server.enable-self-preservation=false

这里说下Eureka的自我保护是干嘛用的,具体可以看这里介绍:自我保护详细介绍
大致的意识就是我们服务启动的时候,才会往注册中心注册服务,当我们因为网络问题不稳定,注册中心误以为服务挂了,就把服务剔除了,那么这个服务要想在进到注册中心里面去,就需要重启,这就很麻烦了,Eureka的自我保护功能就不需要服务去重启,他会隔断时间再来检测服务是否可用,如果可用在加回到服务列表中。

3.2 是否注册自己

eureka.client.register-with-eureka=false

表示是否将自己注册到Eureka Server。如果注册就能够被其他server发现,默认是true

4、服务发现

eureka.client.fetch-registry=false

是否从【注册中心】获取注册信息,默认是true,如果是配置在注册中心端,该项可以设置为false,如果是【服务提供者】或者【服务消费者】,需要获取注册中心的服务,就要设置为true

配置字段有哪些请看EurekaClientConfigBean这个类,字段含义讲解请看:https://blog.csdn.net/u011676300/article/details/83183725

四、Eureka客户端配置(服务提供者)

server.port=12000
spring.application.name=client
management.security.enabled=false

#设置注册中心的url
eureka.client.service-url.defaultZone=http://localhost:10000/eureka/

eureka.client.enabled=true #该客户端是否可用
#实例是否在eureka服务器上注册自己的信息以供其他服务发现,默认为true
eureka.client.register-with-eureka=true

#使用ip地址注册到eureka server
eureka.instance.ip-address=true
#该实例在注册中心注册的Ip和端口
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

注释说明:

1、eureka.client.register-with-eureka :表示是否将自己注册到Eureka Server,默认为true。由于当前这个应用就是注册中心所以设置false,如果是【服务提供者】或【服务消费者】就设置为true

2、eureka.client.fetch-registry :表示是否从Eureka Server获取注册信息,默认为true。

3、eureka.client.serviceUrl.defaultZone :设置Eureka注册中心的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8100/eureka ;多个地址可使用 , 分隔。

更多细节请看:https://blog.csdn.net/qq_31960623/article/details/119905093

五、Eureka客户端配置(服务消费者)

server.port=12001
spring.application.name=client2
management.security.enabled=false

#Eureka配置
eureka.client.service-url.defaultZone=http://localhost:10000/eureka/
eureka.client.register-with-eureka=true
# 使用ip地址注册到eureka server
eureka.instance.ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

六、区域和机房配置

为什么需要配置区域和机房?


# 配置区域
eureka.client.region=beijing
# 配置机房,也就是biejing这个区域有2个机房
eureka.client.availability-zones.beijing=zone-1,zone-2

#配置每个机房所对应的Eureka地址
eureka.client.service-url.zone-1=http://localhost:8761/eureka
eureka.client.service-url.zone-2=http://localhost:8762/eureka

注:上面这个配置每个地方都要加,无论是注册中心还是,服务提供者还是服务消费者都要加。

下面这个配置是针对服务提供者和服务消费者测加的。

# 配置项目当前所属机房
eureka.instance.metadata-map.zone=zone-1

# 默认调用同区域的服务
eureka.client.prefer-same-zone-eureka=true

七、spring-boot-starter-actuator包的作用

1、介绍

使用 spring-boot-starter-actuator 可以用于检测系统的健康情况、当前的Beans、系统的缓存等多个内容。

具体可检测的内容参考下面的链接: 跳转

2、使用方式

在pom.xml 文件中引入spring-boot-starter-actuator依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

注意:默认情况下,通过web端只可访问http://localhost:8080/actuator/health,如果要配置其他访问路劲,可在application.properties中配置访问的uri、权限、端口等

#访问端口
management.server.port=8081
#根路径
management.endpoints.web.base-path=/actuator/z
#web端允许的路径
management.endpoints.web.exposure.include=*

如果配置成* 表示开放了web端的所有访问,可通过访问http://localhost:8081/actuator/z/beans 来查看系统中的beans

问答

SpringCloud-Eureka常用配置

注册中心每天的访问量就有这么多,怎么做到高性能吞吐的呢,这些都是基于本地缓存做的文章来源地址https://www.toymoban.com/news/detail-497471.html

SpringCloud-Eureka常用配置

到了这里,关于SpringCloud-Eureka常用配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springCloud Eureka注册中心配置详解

    1、创建一个springBoot项目 2、在springBoot项目中添加SpringCloud依赖 3、在springBoot项目中创新建一个子模块eureka-server: 4、搭建Eureka 添加依赖:在新建一个子模块的pom.xml中添加依赖 创建配置文件:在resources文件下创建一个名为 application.yml (或 application.properties )的配置文件,并

    2024年02月15日
    浏览(42)
  • 导入SpringCloud-Eureka依赖的问题Cannot resolve org.springframework.cloud:spring-cloud-starter-netflix-eure

    今天使用SpringCloud时遇到导入SpringCloud-Eureka依赖的问题 Cannot resolve org.springframework.cloud:spring-cloud-starter-netflix-eureka-server:unknown 网上搜了一下,回答多的五花八门,但是不够简单粗暴,这里介绍一个简单的方法,只需要在项目的pom文件中做些设置即可 把大象放进冰箱里需要几步

    2024年02月14日
    浏览(44)
  • SpringCloud--Eureka注册中心

              Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就

    2024年01月17日
    浏览(36)
  • SpringCloud --- Eureka注册中心

    假如我们的服务提供者user-service部署了多个实例,如图 思考几个问题: order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和端口? 有多个user-service实例地址,order-service调用时该如何选择? order-service如何得知某个user-service实例是否依然健康,是不是已经宕

    2023年04月24日
    浏览(36)
  • 【SpringCloud-1】注册中心-Eureka

    springcloud微服务,相对于dubbo这种SOA架构,提供了一站式的全套解决方案,什么意思呢?就是说springcloud不需要依赖其他组件,自己提供了全套的  常规项目需要使用的技术和解决问题的方案。  比如dubbo需要依赖zk作为注册中心,springcloud有自己的注册中心,对于其他如链路追

    2024年02月09日
    浏览(36)
  • SpringCloud:Eureka服务注册中心

    Eureka是一个服务治理组件,它主要包括服务注册和服务发现,主要用来搭建服务注册中心。 在搭建微服务项目时遇到的三个问题: 服务消费者该如何获取服务提供者的地址信息? 如果有多个服务提供者,消费者该如何选择? 消费者如何得知服务提供者的健康状态? Eureka的作

    2024年01月20日
    浏览(37)
  • springcloud Eureka服务注册与发现

    代码上传到 :https://github.com/13thm/study_springcloud/tree/main/days3 什么是服务治理 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理 什么是服务注册与发现 Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使

    2024年01月18日
    浏览(69)
  • 注册中心 —— SpringCloud Netflix Eureka

    Eureka 是一个基于 REST 的服务发现组件,SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务注册与发现,同时提供了负载均衡、故障转移等能力,目前 Eureka2.0 已经不再维护,故不推荐使用 Eureka 有两种角色组件: Eureka Server:服务注册中心组件,提供了

    2024年02月13日
    浏览(31)
  • 【SpringCloud入门】-- 初识Eureka注册中心

    目录 1.SpringCloudEureka简介 2.什么是CAP原则? 3.注册中心的概念? 4.SpringCloud其他注册中心 5.搭建Eureka注册中心 6.eureka的配置(主要是server,instance,client) 7.eureka集群概念 8.eureka集群搭建 1.SpringCloudEureka简介 注册发现中心Eureka,意为“发现了”。它是Netflix公司开发的一款基于RES

    2024年02月09日
    浏览(39)
  • Springcloud1--->Eureka注册中心

    Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址 提供者:启动后向Eureka注册自己信息(地址,提供什么服务) 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新 心跳(续约):提供者定期通过http方式向Eureka刷

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包