MQ
文章平均质量分 91
消息队列
-无-为-
做过开发,创过业,踩过坑。从Java后台开发,PL/SQL开发,Pro*C开发,到shell脚本,再到兼职开发的MySQL DBA。
为人友善诚恳,工作踏实,吃苦耐劳,富有朝气,激情,以及团队合作意识。
https://github.com/zhouxx1055
https://zhouxx.blog.csdn.net/
展开
-
科普文:软件架构设计之【消息队列技术选型:RabbitMQ| RocketMQ| Kafka】
几个比较常见的开源的消息队列中间件,选择消息队列产品的基本标准首先,必须是开源的产品;其次,这个产品必须是近年来比较流行并且有一定社区活跃度的产品,流行的产品与周边生态系统会有一个比较好的集成和兼容,比如, Kafka 和 Flink 就有比较好的兼容性,Flink 内置了 Kafka 的 Data Source,使用 Kafka 就 很容易作为 Flink 的数据源开发流计算应用。作为一款及格的消息队列产品,必须具备的几个特性包括:消息的可靠传递:确保不丢消息;原创 2024-08-20 00:32:13 · 1065 阅读 · 0 评论 -
科普文:软件架构设计之【实战解决消息队列中的关键问题:消息丢失、顺序消费、消息积压与重复消费】
一般而言,一个新的系统刚刚上线,各方面都不太稳定,需要一个磨合期,这个时候,特别需要监控到你的系统中是否有消息丢失的情况。如果是 IT 基础设施比较完善的公司,一般都有分布式链路追踪系统,使用类似的追踪系统可以很方便地追踪每一条消息。可以利用消息队列的有序性来验证是否有消息丢失。原理非常简单,在 Producer 端,我们给每个发出的消息附加一个连续递增的序号,然后在 Consumer 端来检查这个序号的连续性。原创 2024-08-20 00:31:39 · 579 阅读 · 0 评论 -
科普文:软件架构设计之【消息队列中的关键问题:消息丢失、顺序消费、消息积压与重复消费】
在分布式系统中,消息队列扮演着至关重要的角色,它解耦了系统组件,提高了系统的可扩展性和可靠性。然而,在使用消息队列时,我们经常会遇到一些问题,如消息丢失、顺序消费、消息积压和重复消费。本文将深入探讨这些问题的原因,并提供相应的解决方案。原创 2024-08-20 00:30:09 · 927 阅读 · 0 评论 -
科普文:软件架构设计之【消息队列:解耦、异步、削峰】
解耦,即降低系统间的耦合度,使得各个模块或系统能够独立地发展和变化,而不相互影响。在传统的系统架构中,模块间通常通过直接调用接口进行通信,这种紧耦合的方式导致系统难以扩展和维护。当某个模块发生变化时,可能会引发其他模块的连锁反应,增加了系统的复杂性和风险。原创 2024-08-20 00:29:33 · 267 阅读 · 0 评论 -
科普文:微服务之Spring Cloud 消息队列【 Kafka-Proxy 解决Kafka集群难管理问题】作者丨YXiao
Proxy 根据配置的目标集群执行流量切换操作。通过管理平台为目标消费组(groupId)设置需要重置的 Offset,会同步等待 Proxy 加载到最新元数据且断开与 Broker 的连接后,触发重置的命令,一旦重置成功后,移除 groupId,Proxy 会重新加载到最新元数据。若发现请求与响应不匹配,或者遇到其他异常情况,则断开 客户端->Proxy 以及 Proxy->Broker 的连接,迫使客户端重新连接,断开连接并重新建立连接是一种保障系统稳定运行的机制,确保数据传输的连续性和准确性。原创 2024-08-16 13:51:46 · 1177 阅读 · 0 评论 -
科普文:微服务之Spring Cloud Alibaba消息队列组件RocketMQ如何保证发送消息不丢失
/ 1、创建 producer,设置组名为 AsyncGroupTest// 2、指定 NameServer的地址,以获取 Broker路由地址// 3、启动 producer// 4、创建消息,并指定Topic,Tag和消息体// 5、发送异步消息,SendCallback是处理异步回调的方法@Overridepublic void onSuccess(SendResult sendResult) { // 成功回调@Override。原创 2024-08-03 09:07:58 · 1242 阅读 · 0 评论 -
科普文:微服务之Spring Cloud Alibaba消息队列组件RocketMQ工作原理
事务消息是为了保证分布式系统中消息的一致性而引入的一种消息类型。事务消息允许消息发送方在发送消息后,进行本地事务操作,并根据本地事务的执行结果来决定消息的最终状态(提交或回滚)。原创 2024-08-03 08:39:38 · 835 阅读 · 0 评论 -
科普文:万字梳理高性能 Kafka快的8个原因
我们都知道 Kafka 是基于磁盘进行存储的,但 Kafka 官方又称其具有高性能、高吞吐、低延时的特点,其吞吐量动辄几十上百万。在座的靓仔和靓女们是不是有点困惑了,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间。那 Kafka 又是怎么做到其吞吐量动辄几十上百万的呢?Kafka 通过无锁轻量级 offset 的设计,实现了高性能、高吞吐和低延时的目标。其 Reactor I/O 网络模型、磁盘顺序写入、内存映射文件、零拷贝、数据压缩和批量处理等技术,为 Kafka 提供了强大的原创 2024-07-30 09:27:19 · 1379 阅读 · 0 评论 -
科普文:万字梳理31个Kafka问题
实现partitioner接口切记分区是实现负载均衡以及高吞吐量的关键,所以一定要在生产者这一端就要考虑好合适的分区策略,避免造成消息数据的“倾斜”,使得某些分区成为性能瓶颈,从而导致下游数据消费的性能下降的问题。原创 2024-07-28 20:54:32 · 838 阅读 · 0 评论 -
科普文:搞懂Apache BookKeeper和一致性协议
BookKeeper最初在雅虎开发,代表了一种可靠的高性能存储系统。它提供分布式可扩展的存储服务,具有低延迟和强容错性的优点。这些充分说明了为什么它能够充当Pulsar的存储层。BookKeeper将数据存储在分类帐(ledger)中,分类帐只能追加且不可变。借助特殊的复制协议,BookKeeper以并发方式在多个节点上安全地存储日志条目,因而具有高可用性。顾名思义,BookKeeper和分类帐在云原生环境中大有用途。不妨设想一下簿记员使用分类帐记录所有相关账户信息,以跟踪企业的财务状况。原创 2024-07-23 16:56:30 · 1118 阅读 · 0 评论