赣州酒店网站建设网站开发售后服务承诺

bicheng/2026/1/16 18:29:23/文章来源:
赣州酒店网站建设,网站开发售后服务承诺,建筑公司网站领导致辞,苏州网站设计网站一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字#xff1a;解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接#xff0c;推送系统人员信息#xff0c;通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整#xff0c;或者推送过…一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接推送系统人员信息通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整或者推送过程中B系统网络进行了调整又或者后续过程中我们需要推送信息到三方C系统中这样的话就需要我们进行频繁的接口开发调整还需要考虑接口推送消息失败的场景。 如果我们使用消息中间件进行消息推送我们只需要按照一种约定的数据结构进行数据推送其他三方系统从消息中间件取值消费就可以即便是三方系统出现宕机或者其他调整我们都可以正常进行数据推送。 总结通过一个 MQPub/Sub 发布订阅消息这么一个模型A 系统就跟其它系统彻底解耦了。 2.异步 继续我们上述的消息推送业务如果我们现在需要同时推送消息到BCD三个系统中而BCD系统接收到消息后需要进行复杂的逻辑处理以及读库写库处理。如果一个三方系统进行消息处理需要1s那我们遍历推送完一次消息就需要三秒。 而如果我们使用消息中间件我们只需要推送到消息中间件然后进行接口返回可能只需要20ms大大提升了用户体验。消息推送后BCD系统各自进行消息消费即可不需要我们等待。 3.削峰 还是上述我们的应用场景假设某一时间段内每秒都有一条消息推送如果我们使用接口进行推送BCD三个系统处理完就需要三秒。这样会导致用户前端体验较差而且系统后台一直处于阻塞状态后续的消息推送接口一直在等待。 如果我们使用消息中间件我们只需要将消息推送至消息中间件中BCD系统对积压的消息进行相应的处理。 在上述高频发的消息时间段内会在消息中间中产生消息积压BCD系统在上述时间段外对积压消息进行相应的处理即可。 二、消息中间件的优缺点 消息中间件的优点其实就是他的使用场景。 消息中间件的缺点与优点也是相辅相成的主要有以下三个 1.系统可用性降低 系统关联的中间件越多越容易引发宕机问题。 如上述案例中的问题原本进行消息推送我们只需要开发接口进行推送即可引入消息中间件后就需要考虑消息中间件的高可用问题如果消息中间件出现宕机问题我们所有的消息推送都会失败。 2.系统复杂度提高 上述案例中如果我们使用接口进行消息推送我们只需要考虑接口超时以及接口推送消息失败的问题。但我们引入消息中间件后就需要考虑消息中间件的维护以及消息重复消费消息丢失的问题。 3.一致性问题 上述案例中如果我们使用接口进行消息推送推送消息我们可以放在事务中处理如果推送过程中出现异常我们可以进行数据回滚但我们引入消息中间件后就需要考虑消息推送后消费失败的问题以及如果我们同时推送消息到BCD系统中如何保证他们的事务一致性。 三、四种消息中间件的基本介绍 特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量 万级比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级支撑高吞吐 10 万级高吞吐一般配合大数据类的系统来进行实时数据计算、日志采集等场景 topic 数量对吞吐量的影响 topic 可以达到几百/几千的级别吞吐量会有较小幅度的下降这是 RocketMQ 的一大优势在同等机器下可以支撑大量的 topic topic 从几十到几百个时候吞吐量会大幅度下降在同等机器下Kafka 尽量保证 topic 数量不要过多如果要支撑大规模的 topic需要增加更多的机器资源 时效性 ms 级 微秒级这是 RabbitMQ 的一大特点延迟最低 ms 级 延迟在 ms 级以内 可用性 高基于主从架构实现高可用 同 ActiveMQ 非常高分布式架构 非常高分布式一个数据多个副本少数机器宕机不会丢失数据不会导致不可用 消息可靠性 有较低的概率丢失数据 基本不丢 经过参数优化配置可以做到 0 丢失 同 RocketMQ 功能支持 MQ 领域的功能极其完备 基于 erlang 开发并发能力很强性能极好延时很低 MQ 功能较为完善还是分布式的扩展性好 功能较为简单主要支持简单的 MQ 功能在大数据领域的实时计算以及日志采集被大规模使用 其他 Apache软件基金会开发、起步较早但没有经过大量吞吐场景验证目前社区不是很活跃 开源稳定社区活跃度高 阿里出品目前已交给Apache但社区活跃度较低 Apache软件基金会开发、开源、高通吐量社区活跃度高 1.ActiveMQ 1.1Activemq 是什么 Activemq 是一种开源的实现了JMS1.1规范的面向消息(MOM)的中间件为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。 1.2Activemq 的作用及原理 Activemq 的作用就是系统之间进行通信原理就是生产者生产消息 把消息发送给activemq Activemq 接收到消息 然后查看有多少个消费者 然后把消息转发给消费者 此过程中生产者无需参与。 消费者接收到消息后做相应的处理和生产者没有任何关系。 1.3Activemq 的通信方式 publish(发布)-subscribe(订阅)(发布-订阅方式) 发布/订阅方式用于多接收客户端的方式作为发布订阅的方式可能存在多个接收客户端并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。 p2p(point-to-point)(点对点) p2p的过程则理解起来比较简单。它好比是两个人打电话这两个人是独享这一条通信链路的。一方发送消息另外一方接收就这么简单。在实际应用中因为有多个用户对使用p2p的链路相互通信的双方是通过一个类似于队列的方式来进行交流。和前面pub-sub的区别在于一个topic有一个发送者和多个接收者而在p2p里一个queue只有一个发送者和一个接收者。 1.4Activemq 的消息持久化机制 JDBC 持久化到数据库 AMQ 日志文件已基本不用 KahaDB AMQ基础上改进默认选择 LevelDB 谷歌K/V数据库 在activemq.xml中查看默认的broker持久化机制。 1.5Activemq 的消息确认机制 1AUTO_ACKNOWLEDGE 1 自动确认 2CLIENT_ACKNOWLEDGE 2 客户端手动确认 3DUPS_OK_ACKNOWLEDGE 3 自动批量确认 4SESSION_TRANSACTED 0 事务提交并确认 5INDIVIDUAL_ACKNOWLEDGE 4 单条消息确认 前四种是JMS API中提供的客户端ACK_MODE。第五种是InforSuiteMQ自定义补充的一种ACK_MODE。 2.RabbitMQ 2.1RabbitMQ是什么 RabbitMQ是一个由erlang语言编写的、开源的、在AMQP基础上完整的、可复用的企业消息系统。 2.2RabbitMQ的作用及原理 基本概念 关键名称 说明 Channel信道 消息推送使用的通道 Producer消息的生产者 向消息队列发布消息的客户端应用程序 Consumer消息的消费者 从消息队列取得消息的客户端应用程序 Message消息 消息由消息头和消息体组成 Routing Key路由键 消息头的一个属性用于标记消息的路由规则决定了交换机的转发路径 Queue消息队列 用于存储生产者的消息 Exchange交换器路由器 提供Producer到Queue之间的匹配 Binding绑定 用于建立Exchange和Queue之间的关联 Binding Key绑定键 Exchange与Queue的绑定关系用于匹配Routing Key Broker服务主体 RabbitMQ Server服务器实体 2.3RabbitMQ的通信方式 2.3.1简单队列 最简单的工作队列其中一个消息生产者一个消息消费者一个队列。也称为点对点模式 2.3.2工作队列模式 一个消息生产者一个交换器一个消息队列多个消费者。同样也称为点对点模式 2.3.3发布订阅模式 Pulish/Subscribe无选择接收消息一个消息生产者一个交换机交换机类型为fanout多个消息队列多个消费者 生产者只需把消息发送到交换机绑定这个交换机的队列都会获得一份一样的数据。 2.3.4路由模式 在发布/订阅模式的基础上有选择的接收消息也就是通过 routing 路由进行匹配条件是否满足接收消息。 2.3.5主体模式 topics(主题)模式跟routing路由模式类似只不过路由模式是指定固定的路由键 routingKey而主题模式是可以模糊匹配路由键 routingKey类似于SQL中 和 like 的关系。 2.3.6RPC模式 与上面其他5种所不同之处该模式是拥有请求/回复的。也就是有响应的上面5种都没有。 RPC是指远程过程调用也就是说两台服务器AB一个应用部署在A服务器上想要调用B服务器上应用提供的处理业务处理完后然后在A服务器继续执行下去把异步的消息以同步的方式执行。 2.4RabbitMQ的消息持久化机制 Queue消息队列的持久化是通过durabletrue来实现的。 Message消息的持久化 通过设置消息是持久化的标识。 Exchange交换机的持久化 。 2.5RabbitMQ的消息确认机制 confirm机制确认消息是否成功发送到Exchange ack机制确认消息是否被消费者成功消费 AcknowledgeMode.NONE自动确认 AcknowledgeMode.AUTO根据情况确认 AcknowledgeMode.MANUAL手动确认 3.RocketMQ 3.1RocketMQ是什么 RocketMQ是阿里开发的一款纯java、分布式、队列模型的开源消息中间件支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。 3.2RocketMQ的作用及原理 基本概念 关键名称 说明 Producer 消息生产者 Producer Group 生产者组 Consumer 消息消费者 Consumer Group 消费者组 Topic Topic用于将消息按主题做划分Producer将消息发往指定的TopicConsumer订阅该Topic就可以收到这条消息 Message 代表一条消息 Tag 标签可以被认为是对 Topic 进一步细化 Broker 负责接收并存储消息 Queue Topic和Queue是1对多的关系一个Topic下可以包含多个Queue主要用于负载均衡 Offset RocketMQ在存储消息时会为每个Topic下的每个Queue生成一个消息的索引文件每个Queue都对应一个Offset记录当前Queue中消息条数。 NameServer NameServer可以看作是RocketMQ的注册中心 3.3RocketMQ的通信方式 RocketMQ消息订阅有两种模式 一种是Push模式MQPushConsumer即MQServer主动向消费端推送 另外一种是Pull模式MQPullConsumer即消费端在需要时主动到MQ Server拉取 但在具体实现时Push和Pull模式本质都是采用消费端主动拉取的方式即consumer轮询从broker拉取消息 集群模式和广播模式 集群模式默认情况下我们都是使用的集群模式也就是说消费者组收到消息后只有其中的一台机器会接收到消息。 广播模式消费者组内的每台机器都会收到这条消息。 3.

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

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

相关文章

上海昆山网站公司哪家好wordpress指定域名

Queue 的定义和结构 队列(Queue) 是只允许在一端进行插入,在另一端进行删除的线性表 队列是一种先进先出(First In First Out)的线性表,简称 FIFO(First IN First OUT), 允许插入的一端称为队尾, 允许删除的一端称为队列头 队列的基本结构如下图所示&a…

怎样建立网站ip地址建一个网站需要多长时间

可以将 nginx 作为一个非常高效的 HTTP 负载均衡器,将流量分配到多个应用服务器上,并通过 nginx 提高 Web 应用的性能、可扩展性和可靠性。 nginx 可以通过添加一个 upstream,来实现 nginx 的负载均衡功能。 upstream myserver {server 192…

北京金创网站建设怎么免费建立自己的网站

1.前言 在11.0的系统开发中,在做系统定制化开发中,在对系统的静态壁纸做定制的时候,需要增加几种静态壁纸可以让用户自己设置壁纸,所以可以在壁纸的系统应用中 添加几种静态壁纸图片,然后配置好 就可以在选择壁纸的时候,作为静态壁纸,接下来看如何具体实现这个功能 2.增…

网站美工培训小程序到哪里去找

V_1.0 需求:开发一个工具方法,辅助初级程序员在不需要掌握sql命令和JDBC的情况下,实现对数据库的插入操作。 V_4.0 实现0sql插入操作需要解决的问题. 1. 如何确认当前【陌生对象】关联的【表名】 2. 如何确认当前表中需要添加数据的字段 3. …

网站开发前端课程文旅策划公司

文章目录 0 前言1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习中文汉字识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xf…

女生做网站编辑怎么样网站建设济南

1、前言 前面完成了winform版,wpf版,为什么要搞个cmd版,因为前面介绍了mqtt的报文结构,重点分析了【连接报文】,【订阅报文】,【发布报文】,这节就要就看看实际报文是怎么组装的,这…

网站程序网站分为几部分

1、Spring框架的单例bean是线程安全的吗? 2、什么是AOP? 3、Spring的事务是如何实现的? 4、Spring事务失效的场景 5、SpringBean的声明周期 6、Spring的循环依赖 7、SpringMVC的执行流程 8、SpringBoot自动配置原理 9、Spring常见注解

网站开发质量控制计划建设互联网站机房需要哪些设备

编译器:Qt 5.12.2Visual Studio 2015 视觉库:OpenCV 4.5.5 能够加载MP4格式视频、读取、定位二维码并输出与反馈信息的软件 需要演示Demo可私信

魏县企业做网站推广网络营销总监岗位职责

进程基本概念: 1.进程: 程序:存放在外存中的一段数据组成的文件 进程:是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2.进程相关命令: 1.top 动态查看当前系统中的所有进程信息(根据CPU占用率排序&a…

网站建设网页企业网站开发开题报告

第一次使用ant design的List列表组件,设置gutter间隔属性后,页面出现了横向滚动条,查阅文档发现是由于加间隔后导致容器宽度被撑开,ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

网站导航结构营销型外贸网站制作

SouthLeetCode-打卡24年02月第1周 // Date : 2024/02/01 ~ 2024/02/04 034.合并两个有序链表 (1) 题目描述 034#LeetCode.21.#北岸计划2024/02/01 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。 (2) 题解代码 cla…

品牌策划网站推荐那些空号检测网站是怎么做的

背景 OBD 是OceanBase的命令行部署工具,在 obd V2.5.0 版本之前,其主要功能主要是部署各类组件,例如 oceanbase-ce,obproxy-ce,obagent 等。然而,它并不支持组件的变更操作以及组件内部的扩缩容调整。具体来说: 1、若…

网站设计与应用方向论文网站的资讯内容

【 黄金消息面分析】:周一(4月15日)亚市盘初,金价开盘跳涨13美元,报2357.71美元/盎司,随后延续涨势,最高触及2372.45美元/盎司,目前金价回落至2354.19美元/盎司,如果中东局势未进一步恶化&#…

做淘宝客网站能有效果吗wordpress没有水印

题目 思路&#xff1a; 对于字符串a&#xff0c;b, (a.size() < b.size()), 考虑对字符串b满足什么条件&#xff1a; 由1、3可知a是b的前后缀&#xff0c;由2知b有一个周期是3&#xff0c;即a.size()&#xff0c;所以b是用多个a拼接而成的&#xff0c;有因为a是b的前后缀&…

在洪雅网站做企业招聘浙江网站建设有哪些

1、前言 轮廓,是指图像中或者物体的外边缘线条。在简单的几何图形中,图形的轮廓是由平滑的线条构成,容易被识别。但不规则的图形或者生活中常见的物体轮廓复杂,识别起来比较困难 2、findContours函数 这里先介绍函数的参数,具体的含义会在下面实验中阐述 opencv 提供的轮…

网站正在建设中怎么办如何免费查询企业信息

本来今天想写个NTP的文章&#xff0c;但是因为小米昨天的这个操作一直想夸一下&#xff0c;所以写写雷布斯&#xff0c;吹吹雷布斯。我是米粉&#xff0c;肯定是米粉&#xff0c;前段时间还有读者来问我&#xff0c;现在能不能入手小米的股票&#xff0c;这个我不敢给建议&…

上海免费网站建设服务外贸网站首页

&#xff08;1&#xff09;G1_FullGC的概念辨析 SerialGC&#xff1a;串行的&#xff0c;ParallelGC&#xff1a;并行的 &#xff0c;CMS和G1都是并发的 这几种垃圾回收器的新生代回收机制时相同的&#xff0c;SerialGC和ParalledGC&#xff1a;老年代内存不足触发的叫FullGC…

江西建设监督网站引流推广的方法

背景 最近项目要有向外部提供服务的能力&#xff0c;但是考虑到数据安全问题&#xff0c;要对接口进行加解密&#xff1b;实现加解密的方案有很多&#xff0c;比如过滤器、拦截器、继承RequestResponseBodyMethodProcessor什么的&#xff0c;不过我最近正在了解ResponseBodyAd…

佛山市建设工程交易中心网站学视频剪辑报个班的多少钱

目录 相似度计算基于用户的协同过滤&#xff08;UserCF&#xff09;算法评估基于物品的协同过滤&#xff08;ItemCF&#xff09;协同过滤算法的权重改进协同过滤算法的问题分析思考学习参考 相似度计算 杰卡德&#xff08;Jaccard&#xff09;相似系数 Jaccard 系数是衡量两个…

网站哪里可以做做网站还赚钱么

在学习玩string后我们开始学习vector&#xff0c;本篇博客将对vector进行简单的介绍&#xff0c;还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构&#xff0c;但是vector是由C编写而成的&#xff0c;他和数组也有本质上的区别&#xff…