遵义公司做网站上海建站

bicheng/2026/1/19 13:44:54/文章来源:
遵义公司做网站,上海建站,优化神马网站关键词排名价格,网站前面的logo标志文章目录 前言1.痛点2.解决方案3.具体实现3.1搭建热配置服务3.2编写配置文件3.3搭建版本控制仓库3.4Eureka-Client引入以下依赖3.5Eureka-Client微服务编写以下配置bootstrap.yml提前加载3.6分别编写测试Controller3.7测试效果3.8下线场景压测 4.SpringCloudBus优化 前言 在上… 文章目录 前言1.痛点2.解决方案3.具体实现3.1搭建热配置服务3.2编写配置文件3.3搭建版本控制仓库3.4Eureka-Client引入以下依赖3.5Eureka-Client微服务编写以下配置bootstrap.yml提前加载3.6分别编写测试Controller3.7测试效果3.8下线场景压测 4.SpringCloudBus优化 前言 在上文讲到在发布服务的场景下通过MQ利用“下线”这一事件驱动去更新Ribbon缓存搭配上更改Eureka的两个配置信息成功实现了Eureka服务下线无感知。当时就说这个过程中存在一个非常鸡肋的地方就是在通知前要去更改Eureka的配置参数。本文将通过配置热更新搭配SpringCloudBus消息总线的方式来将其解决。 1.痛点 发布服务场景特殊如果关闭Eureka-Server三级缓存、对Eureka-Client的参数进行修改势必会对高可用性产生影响。如果可以在这个过程中进行配置热更新在下线旧服务发布新服务这一特定情况下对Eureka配置进行更改做到既支持服务的无感知下线又不影响非此场景下Eureka的性能就好了。 2.解决方案 使用SpringCloudConfigActuatorGit来实现配置热更新服务发布的场景下热更新配置人为保证Eureka数据强一致用来实现服务下线无感知。服务发布完恢复Eureka原生配置保证高可用。总结来看就是在对服务数据一致性有要求的情况下去做到一致性没有此要求的情况下去还原高可用 3.具体实现 3.1搭建热配置服务 引入依赖 dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-config-server/artifactIdversion2.2.3.RELEASE/version/dependency /dependencies3.2编写配置文件 #服务端口 server:port: 8086#指定应用名称 spring:application:name: config-centercloud:config:label: master #配置git仓库分支server:git:uri: https://gitee.com/lazy-sheep-java/cloud-config.git #配置git仓库地址search-paths: cloud-config/application.yml #配置仓库路径#username: git_username #访问git仓库的用户名,公开仓库不配置用户名#password: git_password #访问git仓库的用户密码,公开仓库不配置密码3.3搭建版本控制仓库 创建一个yml配置文件 application-dev.yml文件内容 声明该文件内容是和项目中的参数一致的没有作出更改 eureka:client:registry-fetch-interval-seconds: 3#每次获取全量注册信息disable-delta: true#服务消费者从注册中心拉取服务列表fetch-registry: trueserver:#三级缓存开关useReadOnlyResponseCache: false3.4Eureka-Client引入以下依赖 !-- spring cloud config 客户端 -- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-config/artifactId /dependency dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId /dependency3.5Eureka-Client微服务编写以下配置bootstrap.yml提前加载 spring:application:name: payment-servicecloud:config:uri: http://localhost:8086 #config服务端的地址label: masterprofile: dev #开发环境并在application.yml中配置actuator支持 #Actuator management:endpoint:shutdown:enabled: falseendpoints:web:exposure:include: *3.6分别编写测试Controller RestController RefreshScope public class TryConfigController {Value(${eureka.client.registry-fetch-interval-seconds})private String seconds;GetMapping(info)public String info(){return seconds;} } RestController RefreshScope public class TryController {Value(${eureka.server.useReadOnlyResponseCache})private String flag;GetMapping(info)public String info(){return flag;} }3.7测试效果 到此时Eureka-Client端application.yml中的核心配置参数eureka.client.registry-fetch-interval-seconds的值为10秒并且Eureka-server端三级缓存为开启状态 我们启动所有微服务访问测试Controller的接口观察该属性的值 可以看到为10S与此同时观察控制台日志输出情况Eureka-Client拉取Eureka-Server端的服务列表时间间隔 可见此时Eureka配置参数还与该模块下的application.yml保持一致 在不全程不重启微服务的前提下当我们向存在git仓库中的application-dev.yml文件进行更改关闭了三级缓存将Eureka-Client从Eureka-server拉取服务列表的时间变为2S并且push上去。 此时分别调用Actuator提供的动态刷新接口去刷新对应微服务的热配置http://localhost:8088/actuator/refreshhttp://localhost:10086/actuator/refresh刷新成功并返回了如下结果 此时调用测试接口测试Eureka配置属性变化 这说明不重启情况下完成了配置热更新为了进一步观察效果直接去日志中查看 这说明热更新成功实现 3.8下线场景压测 基于此去做Eureka服务下线感知情况的压测调用下线接口后立即压测观察下线服务是否被负载均衡到 立即使用Jmeter压测可以看到异常情况是没有的 观察控制台下线服务实例是否被负载均衡到 8083 8081 8084 可见完全没问题这时就可以kill掉下线的服务实例去发布新服务了当新服务发布完毕又去push配置来热更新还原原生配置保证Eureka高可用 4.SpringCloudBus优化 Spring-Cloud-Bus:广播配置文件的更改或服务的监控管理用于实现微服务的监控和相互通信,配合SpringCloudConfig使用实现配置的动态刷新。当一个服务刷新数据时将信息放入消息总线中其他监听该消息总线的服务就能得到通知并更新自身的配置 整个流程下来相信大家可以深刻体会到每次Git中的配置文件发生更改我都要去基于属性变更的微服务去调用http://localhost:对应端口/actuator/refresh发送POST请求如果服务集群部署数量较少那运维工作量还不算大但反之就有点折磨运维老哥了。 基于此可以使用SpringCloudBus的广播模式将配置文件更新的动作广播出去让受其管理的微服务、集群都去刷新配置 具体实现如下 1.在目标微服务中配置好mq如文章上面所示并引入Spring-Cloud-Bus的依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bus-amqp/artifactId /dependency2.当Git中的配置文件更新直接调用接口http://localhost:任选一个服务列表中的端口/actuator/bus-refresh POST 即完成受Spring-Cloud-Bus管控的所有微服务的配置热更新 出现Keys refreshed[…]说明更新配置广播完毕所有的目标微服务的配置都完成了热更新一次调用更新所有大大简化了操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站需要竞品分析么2018年临沂建设局网站

文章目录 引言插入行/列合并单元格以及设置居中换行 引言 编程开发中,我们可能会接到某些需求,例如导出某某某列表数据,或者做一份报表,这时候就需要我们的poi出场了,至于一些规则数据的导出,直接使用easy…

有阿里云主机管理平台如何自己做网站东营建设工程信息网官网

本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:5.1 对数据进行描述性统计以及皮尔逊相关系数的计算方法_哔哩哔哩_bilibili 注:直接先看 ( 三、两个相关系数系数的比较 ) 部分&#x…

什么网站免费购物商城公司网站空间要多大

一,单片机的概念 单片机(Single-Chip Microcomputer),也被称为单片微控制器,是一种集成电路芯片。它采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、…

青岛建站服务上海十大家装公司排名

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑…

公司做网站需要服务器吗辰景青岛网站建设

LlamaIndex 是一个数据框架,供 LLM 应用程序摄取、构建和访问私有或特定领域的数据。 LlamaIndex 是开源的,可用于构建各种应用程序。 在 GitHub 上查看该项目。 安装 在 Docker 上设置 Elasticsearch 使用以下 docker 命令启动单节点 Elasticsearch 实…

网站设计模版搜索引擎营销原理是什么

概述 UDP (User Datagram Protocol)是一种简单的传输层协议。与TCP不同,UDP不提供可靠的数据传输和错误检测机制。UDP主要用于那些对实时性要求较高、对数据传输可靠性要求较低的应用,如音频、视频、实时游戏等。 UDP使用无连接的数据报传输模式。在传…

校园招聘哪个网站做的好电子商务网站建设名词解释

Python接口自动化测试在软件质量保证方面具有显著的优势,如提高测试效率、减少人工错误、支持持续集成和回归测试等。然而,它也存在一些局限性,主要包括以下几点: 1. **初始投入成本高**: - 编写自动化测试脚本需要…

厦门高端网站建设定制备案的域名做电影网站吗

System.arraycopy()这是一个由java标准库提供的方法。用它进行复制数组比用for循环要快的多。arraycopy()需要的参数有:源数组,从源数组中的什么位置开始复制的偏移量,目标数组,从目标数组中的什么位置开始复制的偏移量&#xff0…

企业站网站网站开发服务器的选择

第四届管理科学和软件工程国际学术会议(ICMSSE 2024)由ACM珠海分会,广州番禺职业技术学院主办;全国区块链行业产教融合共同体,AEIC学术交流中心承办,将于2024年7月19-21日于广州召开。 会议旨在为从事管理与软件工程领域的专家学…

xml是用来做网站的嘛ps做图 游戏下载网站有哪些内容

目录 Oracle之 第三篇 PL/SQL基础 PL/SQL程序块 PL/SQL语言 PL/SQL的基本结构 PL/SQL块分类 一、PL/SQL语言 二、PL/SQL 常量 、变量 合法字符 数据类型 LOB 数据类型 属性类型 运算符 常量 PL/SQL常量 1 、变量的声明 2、属性类型 % type 变量赋值 %type…

自己怎么建个优惠网站给人做网站的公司

反向动力学(Inverse Kinematic,简称IK)是一种通过子节点带动父节点运动的方法。 正向动力学 在骨骼动画中,大多数动画是通过将骨架中的关节角度旋转到预定值来生成的,子关节的位置根据父关节的旋转而改变,这…

建设网站app想找工作去哪个网站

文章目录 一. 概述二. 维度数据模型建模过程三. 维度规范化四. 维度数据模型的特点五. 维度数据模型1. 星型模式1.1.事实表1.2.维度表1.3.优点1.4.缺点1.5.示例 2. 雪花模式2.1.数据规范化与存储2.2&#x…

微网站生成app网站服务器商

目录 一、基础操作 1、通过属性名等方式 2、通过属性组合 3、子节点方式 4、子节点加属性组合方式 5、孙节点offspring 6、兄弟节点sibling 7、父节点parent 8、正则表达式 9、直到某个元素出现 10、直到某个元素消失 二、通过局部坐标定位 1、使用局部坐标系的cli…

网站上的html内容怎么修改网站建设 会计分录

🚀🚀🚀本文改进:Focaler-IoU更加聚焦的IoU损失Focaler-IoU,能够在不同的检测任务中聚焦不同的回归样本,使用线性区间映射的方法来重构IoU损失 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 🚀🚀🚀学姐带你学习YOLOv8,从入门到创新,轻轻松松搞…

网站配置服务Wordpress北京文化墙设计公司

一、性能轮盘赌 机器码相同,但放置在不同的地址上,性能可能截然不同。 作为软件开发人员,我们经常假设特定代码的性能仅由代码本身和运行它的硬件决定。这种假设让我们在优化代码以获得更好性能时感到有控制力。虽然在大多数情况下这种假设…

衡阳市做淘宝网站建设俄罗斯ip地址

Mac M2芯片配置PHP环境 1. XAMPP2. PHPBrew(PHP版本管理)安装php7.4.33版本 3. 直接使用homebrew 安装php环境参考 1. XAMPP 官网地址 https://www.apachefriends.org/ 安装 安装完成 web server打开后,在打开localhost 成功! 2. PHPBrew(PHP版本管…

浙江网站建设专家评价网站做子站点有什么用

目录 分治快排算法原理 力扣75. 颜色分类 解析代码 分治快排算法原理 分治就是分而治之,快排在数据结构也学过了,现在来学一学三路划分快排(数组划分三块): 前面我们已经实现了三个版本的快速排序的算法&#xff0…

城乡建设学校官方网站城阳网站建设哪家好

接线图: #include "stm32f10x.h" // Device header//1: 开启RCC时钟,包括ADC和GPIO的时钟//2:配置GPIO将GPIO配置为模拟输入模式//3:配置多路开关将左边的通道接入到规则组中//4:配置ADC转…

公司为什么要网站备案wordpress文章顺序

目录 一、题目 描述 输入描述&#xff1a; 输出描述&#xff1a; 示例1 二、结论 三、代码 四、讲解 五、注意点&#xff1a; 一、题目 描述 输入M、N&#xff0c;1 < M < N < 1000000&#xff0c;求区间[M,N]内的所有素数的个数。素数定义&#xff1a;除了1以…

公司优化网站的案例做网站用哪个编程语言

纽扣电池由于体积小&#xff0c;容易被小孩吞入&#xff0c;因此各国对安装在带电产品上面的纽扣电池都有要求。 2023年9月美国消费品安全委员会&#xff08;CPSC&#xff09;发出最终法规文件&#xff0c;决定采用UL4200A:2023作为含纽扣强制安全标准&#xff0c;同时编入16C…