Eureka自我保护模式和InstanceID的配置

本节我们主要介绍 Eureka 自我保护模式的开启和关闭和自定义 Eureka 的 InstanceID 的配置。

关闭自我保护

保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用。一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中的数据。当网络故障恢复后,该 Eureka Server 节点会自动退出保护模式。

如果在 Eureka 的 Web 控制台看到图 1 所示的内容,就证明 Eureka Server 进入保护模式了。

Eureka自我保护
图 1  Eureka自我保护

可以通过下面的配置将自我保护模式关闭,这个配置是在 eureka-server 中:

eureka.server.enableSelfPreservation=false

自定义 Eureka 的 InstanceID

客户端在注册时,服务的 Instance ID 的默认值的格式如下:

${spring.cloud.client.hostname}:${spring.application.name}:${spring.application. instance_id:${server.port}}

翻译过来就是“主机名:服务名称:服务端口”。当我们在 Eureka 的 Web 控制台查看服务注册信息的时候,就是这样的一个格式:

user-PC:eureka-client-user-service:8081

很多时候我们想把 IP 显示在上述格式中,此时,只要把主机名替换成 IP 就可以了,或者调整顺序也可以。可以改成下面的样子,用“服务名称:服务所在 IP:服务端口”的格式来定义:

eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}

定义之后我们看到的就是 eureka-client-user-service:192.168.31.245:8081,一看就知道是哪个服务,在哪台机器上,端口是多少。

我们还可以点击服务的 Instance ID 进行跳转,这个时候显示的名称虽然变成了 IP,但是跳转的链接却还是主机名。

所以还需要加一个配置才能让跳转的链接变成我们想要的样子,使用 IP 进行注册,如图 2 所示:

eureka.instance.preferIpAddress=true

Eureka实例信息IP链接
图 2  Eureka实例信息IP链接

自定义实例跳转链接

刚刚我们通过配置实现了用 IP 进行注册,当点击 Instance ID 进行跳转的时候,就可以用 IP 跳转了,跳转的地址默认是 IP+Port/info。我们可以自定义这个跳转的地址:

eureka.instance.status-page-url=c.biancheng.net

效果如图 3 所示。

Eureka实例信息自定义链接
图 3  Eureka实例信息自定义链接

推荐文章
C语言指向函数的指针

C语言的函数指针有很多用法。例如,当调用一个函数时,可能不仅想传入该函数需要被处理的数据,还希望传入指向子程序的指针,该子程序决定如何处理数据。 也可以在数组中存储函数指针,然后使用数组的索引来调用

MySQL 1)封装性 2)可增强SQL语句的功能和灵活性 3)可减少网络流量 4)高性能 5)提高数据库的安全性和数据的完整性

Python try except else(异常处理)用法详解

Python的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情况时,系统会自动生成一个Error对象来通知程序,从而实现将“业务实现代码”和“错误处理代码”分离,提供更好的

编辑pdf用什么软件?

编辑pdf用什么软件?1、adobeacroabtAdobeAcrobat是由Adobe公司开发的一款PDF(PortableDocumentFormat,便携式文档格式)编辑软件。借助它,您可以以P

Spring Boot Admin集成Eureka项目搭建

通过《SpringBootAdmin的介绍及使用》教程的学习,已经可以在SpringBootAdmin中查看应用中Actuator的监控信息了,但是这种方式有一点不好的地方,就是每个被监控的服务都必须

C语言源代码字符集和运行字符集

编译器转换程序源代码时,所处的环境称为翻译环境(translationenvironment);编译后程序执行时,所处的环境称为运行环境(executionenvironment)。 对C语言来说,

pr怎么抠掉不要的东西?

pr怎么抠掉不要的东西1、首先在电脑上打开pr软件,然后新建一个序列,将素材拖拽到视频轨道上。2、在项目面板上点击“效果”选项,然后在搜索栏中搜索超级键,把超级键拖到视频中,在源面板是“效果控件”上点

Shell数组:Shell数组定义以及获取数组元素

和其他编程语言一样,Shell也支持数组。数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。 Shell并且没有限制数组的大小,理论上可以存放无限量的数据。和C++、

位操作及其使用注意事项,C语言位操作及其使用方法详解

我们知道,程序中的所有数据在计算机内存中都是以二进制的形式进行存储的,数据的位是可以操作的最小数据单位,位操作就是直接对整数在内存中的二进制位进行操作。因此,在理论上,我们可以通过“位运算”来完成所有

Go语言服务端处理HTTP、HTTPS请求

本节我们主要来介绍一下使用Go语言编写的HTTP服务端是如何处理HTTP和HTTPS请求的。 处理HTTP请求 使用net/http包提供的http.ListenAndServe()方法,可以对指定

如何查看MySQL系统帮助?

无论在学习还是在实际工作中,我们都会经常遇到各种意想不到的困难,不能总是期望别人伸出援助之手来帮我们解决,而应该利用我们的智慧和能力攻克。 那么如何才能及时解决学习MySQL时的疑惑呢?可以通过My

fread和fwrite函数,C语言fread和fwrite函数详解

对文件格式化读写函数fprintf与fscanf而言,尽管它可以从磁盘文件中读写任何类型的文件,即读写的文件类型可以是文本文件、二进制文件,也可以是其他形式的文件。但是,对二进制文件的读写来说,考虑到

Go语言网络爬虫组件注册器

在讲解下载器接口设计时,我们介绍过组件注册方面的设计和组件注册器接口Registrar,它声明在module包中。根据前面的接口描述,我们会让组件注册器按照类型存储已注册的组件。该接口的声明如下:

Spring Cloud整合Zipkin进行服务跟踪

Zipkin是Twitter的一个开源项目,是一个致力于收集所有服务的监控数据的分布式跟踪系统,它提供了收集数据和查询数据两大接口服务。有了Zipkin我们就可以很直观地对调用链进行查看,并且可以很方

PHP打开和关闭目录

目录是计算机文件系统的重要组成部分,也可以将其看成是一种特殊的文件,所以对目录的操作同对普通文件的操作类似,在浏览之前要先打开目录,浏览完毕后同样需要关闭目录。本节我们就来介绍一下目录的打开和关闭操作

SEO关键词竞争激烈程度分析

当我们挖掘了足够多的关键词时,首先考虑的工作并不是如何将这些关键词部署到网站上,而是应该认真仔细地对关键词进行竞争分析。关键词竞争分析的工作不同于关键词挖掘,需要综合关键词的搜索结果数、竞价结果数、大

acrobat是什么软件

Acrobat是由Adobe公司开发的一款PDF(PortableDocumentFormat,便携式文档格式)编辑软件。借助它,您可以以PDF格式制作和保存你的文档,以便于浏览和打印,或使用更高级的

C++多态到底是什么(通俗易懂)

派生类对象的地址可以赋值给基类指针。对于通过基类指针调用基类和派生类中都有的同名、同参数表的虚函数的语句,编译时并不确定要执行的是基类还是派生类的虚函数;而当程序运行到该语句时,如果基类指针指向的是一

使用Zuul聚合多个微服务的Swagger文档

在Zuul中进行聚合操作的原因是不想每次都去访问独立服务的文档,通过网关统一整合这些服务的文档方便使用。 在网关中加入Swagger的Maven依赖,代码如下所示。    io.springfo

Linux硬链接和软链接详解(深度剖析)

通过学习《Linuxln命令》一节可以看到,使用ln命令建立硬链接和软链接非常简单,那这两种链接有什么区别,它们各自的作用和特点又是什么?为了解开这些疑问,本节将对硬链接和软链接做深度剖析。 对硬链