最新要闻
- 独居老人为家中热闹没装大门 多车误入院子
- 每日资讯:RTX 4090显卡都能用 长城850W金牌全模电源504元(每瓦0.6元)
- 热门:沃尔沃XC90 T8充电版:经过最新升级后仍是首选SUV
- 全球新消息丨网友用AI生成《黑豹2》电影白人版海报 激怒正义人士
- 热讯:邝飚
- 天天滚动:长度仅23.5mm:尼康尼克尔Z 26mm f/2.8饼干镜头上架
- iPhone更香?调查显示近半数安卓用户考虑换苹果
- 最后一个武侠杂志 《今古传奇·武侠版》停刊:闭关修炼
- 今日快看!力压西游记、红楼梦 豆瓣9.8分:《大明王朝1566》封神国产剧
- 青海首次实现330千伏同塔双回线路中相导线带电消缺
- 男子工作期间上厕所摔伤:被判工伤
- 周杰伦发文谈论AI 称AI取代不了音乐创作的美感
- 今日快讯:86岁老人鸡骨头卡入支气管16年:部分骨头被气管黏膜包住
- 带货主播李佳琦进浙江一大学招美女主播:教室爆满 女生尖叫
- 学生点外卖评3星被商家威胁:不删除差评 让学校把你开除
- 世界速读:周鸿祎:ChatGPT迟早会产生自主意识 为人类带来毁灭危机
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界资讯:Eureka高可用集群服务端和客户端配置
微服务应用中,生产环境一般都需要保障服务注册中心的高可用!高可用也分好几个等级,例如:同数据中心或区(Zone)高可用——》同地区(Region)跨数据中心或区(Zone)高可用——》全国跨地区(Region)跨数据中心或区(Zone)高可用——全球跨地区(Region)跨数据中心或区(Zone)高可用,常规应用基本上中间两种就能满足了!当然也会有国际型应用要用到全球部署的。不同的要求如果是自己搭建部署环境,那么服务器的选购就要做好规划。下面的截图是阿里云ECS的选购界面,切它出来不是为了打广告,是跟我们今天的主角Eureka高可用集群部署有关系:
从阿里云的服务器选购界面我们可以看到:有点实力的服务器供应商一般都会从全球范围内建设数据中心(机房)。但打包这些服务器供用户选择购买时,使用两级标签就能唯一确定服务器的位置——地域(region)和可用区(zone),这个分配标准是与国际接轨的!
我们在Spring官网Eureka主题下高可用一节也看到了region和zone的概念,另外,在Eureka的Github仓库Eureka架构图上也看到区(zone)的概念,为了防止连接失效,我把相关内容截图过来了:
(相关资料图)
Eureka的高可用部署架构图官方已经给出来了,而且跟阿里云上可用区(zone)的划分是一样的,那么该怎么来配置和使用呢?接下来我们就来实操一下!
首先用IDEA创建好Eureka工程,我这里采用Maven多模块(module)的结构,将EurekaServer和EurekaClient端放在一个主工程下了:
这里要用到IDEA多实例运行的功能来模拟多区(zone)部署的情况(用端口的不同来模拟分区),该功能默认是关闭的,按下面截图方法打开它:
然后我们在相应应用的主配置文件application.yml里修改spring:profiles:active: <目标配置>并启动应用就可以了,每个目标配置里的端口不一样,用于模拟多机器的情况(真实环境是端口一样,IP不一样),先看一下效果截图,然后我会在后面贴出所有配置文件,配置文件里会有详细的说明,就不在正文说怎么配置了:
EurekaServer端配置文件的编写说明:
#Eureka Server的application.yml内容spring: application: name: EurekaServer profiles: #多实例启动就改下这里active: eureka1
#Eureka Server的application-eureka1.yml内容server: port: 8761#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区 zone: zoneA#自己是zoneA区的Eureka Server节点(取个容易识别的hostname) hostname: eureka1.zonea.cn-shenzhen#自己的IP,多块网卡时最好指定,多网卡自动绑定很容易出错(例如装了VMWare虚拟机的情况) ip-address: 127.0.0.1 #优先使用IP prefer-ip-address: true client: serviceUrl: #其实只需要Peer住其他两个区zoneB和zoneC的Eureka Server节点(我按官网写了三个) defaultZone: http://eureka1.zonea.cn-shenzhen:8761/eureka/,http://eureka1.zoneb.cn-shenzhen:8762/eureka/,http://eureka1.zonec.cn-shenzhen:8763/eureka/ #自己作为服务端的客户端不需要像普通客户端一样去fetch服务列表,也不需要向任何服务端注册自己 fetch-registry: false register-with-eureka: false
#Eureka Server的application-eureka2.yml内容server: port: 8762#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区 zone: zoneB#自己是zoneB区的Eureka Server节点(取个容易识别的hostname) hostname: eureka1.zoneb.cn-shenzhen#自己的IP,多块网卡时最好指定,多网卡自动绑定很容易出错(例如装了VMWare虚拟机的情况) ip-address: 127.0.0.1 #优先使用IP prefer-ip-address: true client: serviceUrl: #其实只需要Peer住其他两个区zoneA和zoneC的Eureka Server节点(我按官网写了三个) defaultZone: http://eureka1.zonea.cn-shenzhen:8761/eureka/,http://eureka1.zoneb.cn-shenzhen:8762/eureka/,http://eureka1.zonec.cn-shenzhen:8763/eureka/ #自己作为服务端的客户端不需要像普通客户端一样去fetch服务列表,也不需要向任何服务端注册自己 fetch-registry: false register-with-eureka: false
#Eureka Server的application-eureka3.yml内容server: port: 8763#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区 zone: zoneC #自己是zoneC区的Eureka Server节点(取个容易识别的hostname) hostname: eureka1.zonec.cn-shenzhen#自己的IP,多块网卡时最好指定,多网卡自动绑定很容易出错(例如装了VMWare虚拟机的情况) ip-address: 127.0.0.1 #优先使用IP prefer-ip-address: true client: serviceUrl: #其实只需要Peer住其他两个区zoneA和zoneB的Eureka Server节点(我按官网写了三个) defaultZone: http://eureka1.zonea.cn-shenzhen:8761/eureka/,http://eureka1.zoneb.cn-shenzhen:8762/eureka/,http://eureka1.zonec.cn-shenzhen:8763/eureka/ #自己作为服务端的客户端不需要像普通客户端一样去fetch服务列表,也不需要向任何服务端注册自己 fetch-registry: false register-with-eureka: false
下面是重点,EurekaClient端的配置说明:
#Eureka Client的application.yml内容spring: application: name: EurekaClient profiles: #多实例启动就改下这里active: clientA main: banner-mode: console#配置SpringBoot Actuatormanagement: endpoints: web: exposure: include: "*" endpoint: health: show-details: always shutdown: enabled: true
#Eureka Client的application-clientA.yml内容server: port: 8081#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区Zone zone: zoneAclient: #声明自己所属的地区Region region: cn-shenzhen#列明可能的区Zone(注意顺序) availability-zones: cn-shenzhen: zoneA,zoneB,zoneCservice-url: #设置可用区Zone地址 zoneA: http://eureka1.zonea.cn-shenzhen:8761/eureka/ zoneB: http://eureka1.zoneb.cn-shenzhen:8762/eureka/ zoneC: http://eureka1.zonec.cn-shenzhen:8763/eureka/ #显示设置优先考虑请求同区Zone注册中心prefer-same-zone-eureka: true
#Eureka Client的application-clientB.yml内容server: port: 8082#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区Zone zone:zoneBclient: #声明自己所属的地区Region region: cn-shenzhen #列明可能的区Zone(注意顺序) availability-zones: cn-shenzhen: zoneB,zoneA,zoneCservice-url: #设置可用区Zone地址 zoneA: http://eureka1.zonea.cn-shenzhen:8761/eureka/ zoneB: http://eureka1.zoneb.cn-shenzhen:8762/eureka/ zoneC: http://eureka1.zonec.cn-shenzhen:8763/eureka/ #显示设置优先考虑请求同区Zone注册中心prefer-same-zone-eureka: true
#Eureka Client的application-clientC.yml内容server: port: 8083#Eureka专用配置Begineureka: instance: metadata-map: #声明自己所属的区Zone zone: zoneCclient: #声明自己所属的地区Region region: cn-shenzhen #列明可能的区Zone(注意顺序) availability-zones: cn-shenzhen: zoneC,zoneA,zoneBservice-url: #设置可用区Zone地址 zoneA: http://eureka1.zonea.cn-shenzhen:8761/eureka/ zoneB: http://eureka1.zoneb.cn-shenzhen:8762/eureka/ zoneC: http://eureka1.zonec.cn-shenzhen:8763/eureka/ #显示设置优先考虑请求同区Zone注册中心prefer-same-zone-eureka: true
客户端配置availability-zones时一定要注意顺序,要优先将自己所属的区(zone)排在前面,这样EurekaClient在发起续约(Renew)请求时,从所有可用区(zone)里第一个拿到的就是自己所在区(zone)的目标EurekaServer,否则就成在其他服务器上续约,会导至自己区(zone)里的EurekaServer的Renews (last min)值永远达不到要求而报出以下错误(这个错误是由于前来本EurekaServer续约的服务低于指定的自我保证阈值(默认85%)了,触发了Eureka自我保护机制,EurekaServer不再剔除服务注册表里的条目):
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY"RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
附上两张我自己画的EurekaServer常用部署架构图:
自己想一下最后这张图服务端和客户端要怎么配!!!
-
今日精选:NEMU PA 1 实验报告
课程地址:PA1-1https: www bilibili com video BV1JE411J7AKPA1-2https: www bilibili com video BV1EE41
来源: 世界资讯:Eureka高可用集群服务端和客户端配置
今日精选:NEMU PA 1 实验报告
Spark系列 - (4) Spark任务调度
天天快资讯丨第122篇: JS函数一些基本概念
独居老人为家中热闹没装大门 多车误入院子
每日资讯:RTX 4090显卡都能用 长城850W金牌全模电源504元(每瓦0.6元)
day03-自己实现Mybatis底层机制-02
如何设计高并发项目
天天快资讯丨Android 应用接入 Firebase Crashlytics 进行崩溃分析上报
热议:Java 中 hashCode 和 equals 方法是什么?它们和 == 各有什么区别?
热门:沃尔沃XC90 T8充电版:经过最新升级后仍是首选SUV
全球新消息丨网友用AI生成《黑豹2》电影白人版海报 激怒正义人士
面向对象进阶第二天
环球视点!# 009 - 检验 (2)
热讯:邝飚
天天滚动:长度仅23.5mm:尼康尼克尔Z 26mm f/2.8饼干镜头上架
iPhone更香?调查显示近半数安卓用户考虑换苹果
最后一个武侠杂志 《今古传奇·武侠版》停刊:闭关修炼
今日快看!力压西游记、红楼梦 豆瓣9.8分:《大明王朝1566》封神国产剧
【天天快播报】python-函数
焦点热文:58.抽象数据类型
青海首次实现330千伏同塔双回线路中相导线带电消缺
男子工作期间上厕所摔伤:被判工伤
周杰伦发文谈论AI 称AI取代不了音乐创作的美感
今日快讯:86岁老人鸡骨头卡入支气管16年:部分骨头被气管黏膜包住
带货主播李佳琦进浙江一大学招美女主播:教室爆满 女生尖叫
学生点外卖评3星被商家威胁:不删除差评 让学校把你开除
linux中redis下载安装部署启动
环球视讯!21、现有网络模型的使用以及修改
环球看热讯:(数据库系统概论|王珊)第七章数据库设计-第二节:需求分析
世界速读:周鸿祎:ChatGPT迟早会产生自主意识 为人类带来毁灭危机
我国新一代载人登月飞船模型首次展出:将建造月球科研站
每日热议!委员建议:允许重大节日燃放烟花爆竹 应科学限放
吃透8图1模板,人人可以做架构
免费开源的邮件服务器搭建
天天热门:蚁群算法
每日热闻!Prometheus安装部署(主体)
【世界速看料】保时捷新能源车高架冒烟 司机:开得好好的就着了 差点被烧死
环球讯息:罗技Trophy G驾驶舱发布:兼容所有方向盘、踏板、主机和PC
百事通!网友称5千元买洗地机用2小时就坏掉:售后无门
天天速讯:十铨发布新款PCIe 5.0固态硬盘:顺序读取12000MB/s、配石墨烯散热片
当前速看:祸从天降!东北冰溜子从5楼坠落砸伤女子:北方人一定要注意
惠州普通话水平考试准考证查询
Joomla未授权访问漏洞(CVE-2023-23752)
环球头条:Go复合数据类型数组和切片
世界热点!springCloud Alibaba服务的注册与发现之eureka搭建
当前简讯:业内第三种烘干技术!石头宣布分子筛洗烘一体机H1
全国多地现“三星连珠”天象:金星、木星、弯月连成一条线
世界快讯:石头分子筛洗烘一体机H1发布:打破洗烘行业技术天花板
百度新车标外观专利获授权 造型罕见
世界观天下!小米新专利获授权:一卡多号 可节省功耗
what are ESC、BEC and UBEC ?
环球微动态丨不通过ArcGIS写Personal Geodatabase(esri mdb)
最新消息:我们喜爱的 10 种免费 SQL Server 资源
世界新消息丨ChatGPT对于普通人有什么机会和影响?
世界热消息:8成特效中国制作!《流浪地球2》豆瓣涨至8.3 超100万人评分
当前动态:38秒旋风榨汁 小熊无线多功能榨汁机34.9元大促
3000元档超香二代骁龙8旗舰!努比亚Z50 16GB+256GB狂飙版来了
《暗黑》平替?《火炬之光:无限》国服官宣5月公测
头条焦点:首个游戏版ChatGPT 网易《逆水寒》手游预计上半年推出:自研AI得分超过人类
tcl电冰箱
消息!北向资金本周净卖出41.25亿元
观天下!分布式事务和Spanner分布式数据库
8000+字,就说一个字Volatile
环球关注:ChatGPT迅速学会下棋精髓 把人类给整不会了 网友:这谁预判得了?
世界快报:长城拼了!哈弗H6 DHT-PHEV限时优惠1.5万元:仅14.48万起
全球短讯!iPhone 15标准版上了灵动岛和USB-C接口:但跟Pro版差距还是太大
《狂飙》高启兰在日本火爆出圈 网友:《柯南》妃英理本理
全球今亮点!数字孪生|可视化图表之分组柱状图
世界今日讯!测试角色在项目各阶段的项目管理tips
当前速读:【JVM】JDK7后intern方法总结
世界热讯:centos7多网口配置同网段IP解决方案
焦点快播:【Vue】vue3 元素在某区域内缩放拖拽
灵活就业交医保太亏了怎么说?交医保太亏了具体指的是什么
苹果水下操控iPhone屏幕专利获批:或万元起售的Ultra机型独享
当前信息:魅族20电池寿命稳了:1600天连续充放容量仍大于80%
【新视野】日系车再受质疑!铃木维特拉遭车主集体投诉:刹车变硬踩不动
全球快讯:女子下班途中被狗撞伤被判工伤 法院:非本人主要责任
LGV 引理
【报资讯】如何实现把多个git仓库合并为一个,并保留提交记录?
AI创作享有版权吗?
世界视讯!卖的比“老头环”快!《霍格沃茨之遗》销量破1200万
今天是世界讨厌香菜日 不爱吃竟是“天注定”:跟基因有关
测试版用户终于能“反悔”了:Win11新功能允许退回正式版系统
今日报丨果然是“应试” IIHS碰撞测试难度提高:年度获奖车型数量腰斩
海绵宝宝是一种原始的什么动物?红色海绵球是干什么用的?
正者无敌三个太太的结局是什么?正者无敌演员表介绍
宫锁连城为什么下架了?宫锁连城的大结局是什么?
安全帽能代替头盔吗?安全帽颜色的级别区分
光盘怎么进行拷贝?光盘拷贝到u盘需要多少钱?
word安全模式是怎么回事?word安全模式怎么解除?
苹果怎么查询激活时间?苹果怎么传输数据到新的手机上?
闪存卡损坏是什么原因?闪存卡损坏怎样修复?
当前速看:易基因|DNA甲基化研究的测序数据挖掘思路:干货分享
速看:Centos7单机部署Etcd
Springcloud~openfeign开启hystrix基于线程池熔断的传值问题
环球热点!产品经理
【网关开发】9.Openresty 自定义流量分流策略支持灰度(金丝雀)等发布业务场景
每日热议!刘洋一杆领跑资格考试36洞 四人并列第二
天天热议:曾凭五菱宏光MINI EV火爆出圈 小米汽车营销负责人周钘离职