eureka集群的两种配置方式:配置文件方式与DNS方式
eureka client获取serviceUrls(eureka server地址)列表的过程:
- 1. 根据use-dns-for-fetching-service-urls属性判断是从dns还是从config获取region和zone以及serviceUrl相关信息
- 2. 获取过程首先从配置中获取应用所在region,通过region属性设置
- 3. 根据region获取所有zone信息,dns与config获取方式不一样
- 3.1. dns会请求dns服务器获取指定region的所有zone列表,如果没有查询到则抛出异常.使用该方式需要设定 eureka-server-d-n-s-name,eureka-server-u-r-l-context,eureka-server-port属性,具体配置可参考另一篇文章《eureka集群基于DNS配置方式》
- 3.2. config则从配置文件的availabilityZones列表获取,如果没有配置,则返回defaultZone.使用该方式需要配置availability-zones(Map<region:zone>),service-url(Map<zone:serviceUrls>)
- 4. 获取zone列表成功后需要对列表进行排序,排序根据prefer-same-zone-eureka而不同,该属性意为是否将相同名称的zone作为注册首选
- 4.0. 这里有一个客户端zone的概念,该zone为availabilityZones的第一个zone,如果没有设置则为defaultZone
- 4.1. 如果设置true,则查询zone列表,找到与客户端zone同名的元素,并将其之前元素转移到列表最后
- 4.2. 如果设置false,则查找zone列表,找到第一个与客户端zone不同名的zone,并将其之前的元素转移到列表最后
- 5. 然后循环获取所有zone对应的serviceUrls并按顺序追加到一个列表中
- 5.1. 如果是配置方式,获取某个zone的serviceUrls为空则返回defaultZone的serviceUrl,而DNS方式不会进行任何处理
通过以上步骤可以获取到region对应的zone的serviceUrls.
这里出现了region,zone,serviceUrl这几个概念,可以简单理解为region包含多个zone,zone包含多个serviceUrl.但需要注意的是,zone可以出现在多个region中,serviceUrl可以出现在多个zone中,也就是说他们三个概念两两之间的关系是多对多而非一对多.
#基于DNS的配置 eureka:client:#DNS域名,获取其他信息将以该域名为根域名eureka-server-d-n-s-name: relinson.com#开启DNS方式获取serviceUrl,默认为falseuse-dns-for-fetching-service-urls: true#当前应用所在区域,默认为us-east-1region: region1#eureka服务根目录eureka-server-u-r-l-context: eureka#服务所在端口eureka-server-port: 9999#获取serviceUrl时候是否优先获取相同zone的列表(如果获取为空则获取所在region第一个zone),如果为false则优先获取不在相同zone的列表prefer-same-zone-eureka: true#是否获取注册信息到本地fetch-registry: true#是否将自己注册到eurekaregister-with-eureka: true
#基于CONFIG的配置 eureka:client:#开启DNS方式获取serviceUrl,默认为falseuse-dns-for-fetching-service-urls: false#当前应用所在区域,默认为us-east-1region: region1#获取serviceUrl时候是否优先获取相同zone的列表(如果获取为空则获取所在region第一个zone),如果为false则优先获取不在相同zone的列表#client所在zone为availabilityZones的第一个zone,如果未配置,则为defaultZoneprefer-same-zone-eureka: true#是否获取注册信息到本地fetch-registry: true#是否将自己注册到eurekaregister-with-eureka: true#与DNS获取的方式相同,这里需要手工配置包含哪些region以及zone(Map类型),如果没有给相关的region配置zone,则默认返回defaultZoneavailability-zones:region1: zone1-2,zone1-2,zone2-2region2: zone2-2,zone2-2,zone2-3#与DNS获取数据方式类似,这里需要手工配置每个zone包含哪些URL,如果应用所在区域没有zone,则默认返回defaultZone的数据service-url:zone1-1: http://xxx,http://xxx2 zone1-2: http://xxx,http://xxx2zone2-1: http://xxx,http://xxx2zone2-2: http://xxx,http://xxx2
转载于:https://www.cnblogs.com/relinson/p/eureka_ha_config_properties_and_dns.html
eureka集群的两种配置方式:配置文件方式与DNS方式相关推荐
- java reds 集群_java项目中配置redis-cluster集群的两种方式
本文分两部分: (1)jedisCluster (2)Spring-Data-Redis集群配置和RedisTemplate用法 我这里是在本机上搭建的3主3从6个redis实例. 一,jedisCl ...
- Redis集群的三种配置方式案例
前言 Redis有三种集群模式: 主从复制 哨兵(Sentinel) 集群(Cluster)
- eureka 集群失败的原因_Eureka集群的那些坑
今天遇到一个Eureka集群的一个坑. 问题现场类似是这样的:两台Eureka组成的服务注册中心集群,两台服务提供方server1.server2,两个服务调用方client1.client2. 正常 ...
- java 连接mongodb 集群_Java 连接MongoDB集群的几种方式
先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; im ...
- eureka集群高可用配置
网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白为什么那么配置. 譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别 ...
- Redis集群两种配置方式
2019独角兽企业重金招聘Python工程师标准>>> 第一种使用:JedisCluster <bean id="jedisPoolConfig" clas ...
- (十六)Alian 的 Spring Cloud Eureka 集群配置(主机名方式)
目录 一.背景 二.maven依赖 三.主类 四.Eureka服务配置 五.启动服务 5.1 服务1效果图(eureka-server1.com) 5.2 服务2效果图(eureka-server2. ...
- eureka集群基于DNS配置方式
最近在研究spring cloud eureka集群配置的时候碰到问题:多台eureka server如果需要互相注册,需要在配置文件中将其他服务器地址配置写死.同样客户端启用服务发现功能(eurek ...
- (十七)Alian 的 Spring Cloud Eureka 集群配置(IP方式)
目录 一.背景 二.maven依赖 三.Eureka服务主类 四.Eureka服务配置 五.启动服务 5.1 服务1效果图(10.130.3.66) 5.2 服务2效果图(10.130.3.111) ...
- eureka配置_F版本SpringCloud 5—Eureka集群和自我保护机制
源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用 ...
最新文章
- linux系统安全设置
- 单变量线性回归中的梯度下降法求解代价函数的最小值
- javascript基础 (2)
- 渗透测试入门DVWA 教程1:环境搭建
- 构造函数内部原理 包装类
- openstack常用运维命令_运维人员常用的Linux命令汇总
- linux修改文件打开最大数(ulimit命令)
- Python+OpenCV:训练级联分类器(Cascade Classifier Training)
- 使用Python解压,对比文件
- 传统路径规划算法介绍
- 解压缩 tar命令详解
- 机器智能-高频问题:一阶逻辑转化合取范式
- 机器人专用符文_lol机器人新版符文搭配推荐 s8布里茨新版符文配置攻略
- mysql查询学生表年龄语句_表是student表-从学生表tstudent-学生表student
- 怎么恢复电脑删除的文件,误删除数据恢复
- Jmeter - JMeter监听器 -上篇(详解教程)
- mac 开启终端代理
- 快排和归并排序哪个更快
- 蓝桥5-4史丰收速算
- 基于jsp的新闻发布系统(论文)