springcloud(四):Eureka的配置详解
在Eureka的服务治理体系中,主要分为服务端和客户端两个不同的角色,服务端为服务注册中心,客户端为提供各个接口的微服务应用,这里介绍一下Eureka的配置。
Eureka服务端配置
在实际应用中,我们所做的配置内容都是对客户端进行的操作,而Eureka服务端更像一个现成的产品,大多数情况下我们不需要修改它的配置。
如果你想了解的话,可以去这个类中查看org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean,服务端的属性都是以eureka.server为前缀。
Eureka客户端的主要配置
服务注册相关的配置信息,包括服务注册中心的地址,服务获取的间隔时间、可用区域等。
服务实例相关的配置信息,包括服务实例的名称、IP地址、端口号、健康检查路径等。
服务注册类配置
关于服务注册类的配置信息可用通过org.springframework.cloud.netflix.eureka.EurekaClientConfigBean查看,这些配置信息前缀都是eureka.client。
指定注册中心:通过eureka.client.serviceUrl参数实现,该参数的定义如下,它的配置值存储在HashMap类型中,并且有一组默认值,默认的key是defaultZone,默认的value为http://localhost:8761/eureka。我们通过这样设置就可以重新设置注册中心:eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/。如果是高可用注册中心则多个地址之间逗号隔开。
private Map<String, String> serviceUrl = new HashMap<>();
其他配置
这些配置都以eureka.client开头

服务实例类配置
关于服务实例类的配置信息可以在org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean类查看,这些配置信息的前缀都是eureka.instance。
元数据
在org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean中的配置信息中,有一大部分内容是对服务实例元数据的配置,元数据就是指Eureka客户端在向服务注册中心发送注册请求时,用来描述自身服务信息的对象,其中包含了一些标准化的元数据,比如服务名称、实例名称、实例IP、实力端口等。
在使用Spring Cloud Eureka时,所有的配置信息都通过org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean进行加载,但在真正进行服务注册时还是会包装成com.netflix.appinfo.InstanceInfo对象发送给Eureka客户端。这两个类定义非常相似,在com.netflix.appinfo.InstanceInfo类中Map<String, String> metadata = new ConcurrentHashMap<String, String>()是自定义的元数据信息,而其他则是标准化的元数据信息。
我们可以通过eureka.instance.<properties>=<value>的格式对标准化的元数据信息直接进行配置,其中<properties>就是EurekaInstanceConfigBean对象中的成员变量名。而对于自定义元数据,可以通过eureka.instance.metadataMap.<key>=<value>的格式进行配置,比如:
eureka.instance.metadataMap.zone=shanghai
实例名配置
它是区分同一服务不同实例的唯一标识。在Netflix Eureka的原生实现中,默认是以主机名作为默认值,这样的设置使得在同一主机上无法启动多个相同的服务实例。所以在Spring Cloud Eureka中针对同一主机启动多个实例的情况,对实例名的默认命名做了更合理的扩展,采用如下规则
${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}
我们可以通过eureka.instance.instanceId来配置实例名。当我们在本地做负载均衡调试时,采用的是指定多个端口来启动同一服务的多个实例,但这样你会发现实例名其实还是一样的只是端口不一样,我们可以这样设置指定不同的实例名
eureka.instance.instanceId=${spring.application.name}:${random.int}
这样就可以通过不指定端口就启动同一服务的多个实例。
端点配置
在org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean类中,有一些URL的配置信息,如homePageUrl、statusPageUrl、healthCheckUrl。其中状态页和健康检查的URL默认是使用actuator提供的info和health端点。我们必须保证客户端的health端点是一个可以被注册中心正确访问到的地址,否则注册中心不会根据应用的健康检查来改变应用状态(仅当开启了healthcheck功能时,以该端点信息作为健康检查标准而不是心跳)。如果info端点不能正常访问,则在Eureka面板单击服务时不能访问到服务实例提供的信息接口。一般情况下我们不需要配置这些信息,如果你修改了info端点和health端点的路径,那么就需要修改这个配置了,只需要和actuator的做同样修改即可,比如加上相同的前缀、改为同样的新路径等。
eureka.instance.statusPageUrlPath=info端点的路径
eureka.instance.healthCheckUrlPath=health端点的路径
上述配置是使用相对路径进行配置,如果客户端应用以HTTPS的方式而不是HTTP的方式来暴露服务和监控端点时,要使用绝对路径。
eureka.instance.statusPageUrlPath=https://${eureka.instance.hostname}/actuator/info
eureka.instance.healthCheckUrlPath=https://${eureka.instance.hostname}/actuator/health
其他配置

除了前三个可能会修改外,其余使用默认配置就可以。
---------------------
作者:myCat、
来源:CSDN
原文:https://blog.csdn.net/WYA1993/article/details/82288605
版权声明:本文为博主原创文章,转载请附上博文链接!
springcloud(四):Eureka的配置详解的更多相关文章
- SpringCloud 组件Eureka参数配置项详解
Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考. Eure ...
- Spring Cloud Eureka 常用配置详解,建议收藏!
前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...
- Spring之旅第四篇-注解配置详解
一.引言 最近因为找工作,导致很长时间没有更新,找工作的时候你会明白浪费的时间后面都是要还的,现在的每一点努力,将来也会给你回报的,但行好事,莫问前程!努力总不会有错的. 上一篇Spring的配置博客 ...
- Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
四.Nginx 配置详解 YUM方式安装的Nginx默认配置文件放在/etc/nginx目录下,使用Vim编辑/etc/nginx/nginx.conf: ---------------------- ...
- JAVAEE——spring01:介绍、搭建、概念、配置详解、属性注入和应用到项目
一.spring介绍 1.三层架构中spring位置 2.spring一站式框架 正是因为spring框架性质是属于容器性质的. 容器中装什么对象就有什么功能.所以可以一站式. 不仅不排斥其他框架,还 ...
- SpringCloud Eureka参数配置项详解
SpringCloud Eureka参数配置项详解(转) Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下 ...
- logback -- 配置详解 -- 四 -- <filter>
附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- Maven使用笔记(四)pom.xml配置详解
pom.xml文件配置详解 --声明规范 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...
随机推荐
- [转]C# Eval在asp.net中的用法及作用
原文链接:http://www.cnblogs.com/Mr_JinRui/archive/2010/07/06/1772129.html Eval( " ")和Bind( &qu ...
- MySQL数据库之DML(数据操作语言)
对表记录的增删改 1.MySQL之DML创建数据表user create table user( id int unsigned not null auto_increment primary key ...
- div+css对网页进行布局
div+css对网页进行布局 首先在页面整体上进行div标签划分内容区域,然后再用css进行定位,最后再对相应的区域添加内容. 1.用div将页面划分 拿到网站页面图后,首先将分析页面分为哪几块,然后 ...
- Jmeter插件:jp@gc - Dummy Sampler
Dummy Sampler可以比较方便地模拟测试场景,自定义Request Data和Response Data 1. 安装插件:打开页面插件管理网站,下载plugins-manager.jar. 在 ...
- 一张图轻松掌握 Flink on YARN 应用启动全流程(上)
Flink 支持 Standalone 独立部署和 YARN.Kubernetes.Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛.Flink 社区将推出 Flink ...
- (组合数学)不定方程的解+猜测——cf997B
首先要求出三种等价情况 5×1+1×50=1×5+5×105×1+1×50=1×5+5×10 9×5=5×1+4×10 8×5+1×50=9×10 那么可以求出三种关于x5,x10的不可行条件 x ...
- Oracle连接字符串总结
Oracle XE 标准连接 Oracle XE(或者"Oracle Database 10g Express Edition")是一个简单免费发布的版本. 以下是语法格式: Dr ...
- AFO成功
在dcoi一年多,还是发生了不少事情. 过程中也有些小遗憾,有做错的事情,有搞砸的事情,有没办法挽回的事情,这种没法读档的辣鸡游戏也是无可奈何的.对所有被我搞砸的事情说声对不起啦,至少在下一次的时候, ...
- 洛谷 P2114 [NOI2014]起床困难综合症
题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争.通过研究相关文献,他找到了该病的发病原因 ...
- CF1086F Forest Fires
CF1086F Forest Fires 有点意思的题目 直接统计每个格子的val是非常难办的.很难知道每秒新出来多少个格子 设$F[i]$表示,前i时刻覆盖的格子的数量 则,$ans=\sum_{i ...