![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息队列
文章平均质量分 76
fangzhan666
这个作者很懒,什么都没留下…
展开
-
《kafka 核心技术与实战》课程学习笔记(十)
Kafka 的 Java 生产者是如何管理 TCP 连接的?为何采用 TCP?Apache Kafka 的所有通信都是基于 TCP 的,而不是基于 HTTP 或其他协议。在开发客户端时,能够利用 TCP 本身提供的一些高级功能,比如多路复用请求以及同时轮询多个连接的能力。除了 TCP 提供的这些高级功能有可能被 Kafka 客户端的开发人员使用之外,目前已知的 HTTP 库在很多编程语言中都略显简陋。Kafka 生产者程序概览Kafka 的 Java 生产者 API 主要的对象就是原创 2023-06-28 23:04:48 · 603 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(九)
客户端都有哪些不常见但是很高级的功能?什么是 Kafka 拦截器?拦截器基本思想就是允许应用程序在不修改逻辑的情况下,动态地实现一组可插拔的事件处理逻辑链。它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。Spring MVC 拦截器的工作原理:Kafka 拦截器借鉴了这样的设计思路:可以在消息处理的前后多个时点动态植入不同的处理逻辑,比如在消息发送前或者在消息被消费后。Kafka 拦截器Kafka 拦截器分为生产者拦截器和消费者拦截器。生产者拦截器允许你在发送消息前以及原创 2023-06-28 21:42:46 · 632 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(八)
无消息丢失配置怎么实现?原创 2023-06-26 13:48:39 · 1020 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(七)
生产者压缩算法怎么压缩?压缩(compression)秉承了用时间去换空间的经典 trade-off 思想,具体来说就是用 CPU 时间去换磁盘空间或网络 I/O 传输量,希望以较小的 CPU 开销带来更少的磁盘占用或更少的网络 I/O 传输。目前 Kafka 共有两大类消息格式,社区分别称之为 V1 版本和 V2 版本。不论是哪个版本,Kafka 的消息层次都分为两层:消息集合(message set)以及消息(message)。一个消息集合中包含若干条日志项(record item),而日原创 2023-06-26 12:26:27 · 806 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(六)
生产者消息分区机制原理剖析为什么分区?Kafka 有主题(Topic)的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说 Kafka 的消息组织方式实际上是三级结构:主题 - 分区 - 消息。主题下的每条消息只会保存在某一个分区中,而不会在多个分区中被保存多份。分区的作用就是提供负载均衡的能力对数据进行分区的主要原因,就是为了实现系统的高伸缩性(Scalability)。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个原创 2023-06-25 22:26:29 · 1229 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(五)
kafka 集群参数配置原创 2023-06-25 19:59:50 · 917 阅读 · 0 评论 -
《消息队列高手课》课程学习笔记(八)
在 NIO 中,每个已经建立好的连接用一个 Channel 对象来表示。我们希望能实现,在一个线程里,接收来自多个 Channel 的数据。原创 2023-06-08 22:55:06 · 417 阅读 · 0 评论 -
《消息队列高手课》课程学习笔记(七)
接下来我们看一下,如何用异步的思想来解决这个问题,实现同样的业务逻辑。异步的实现过程相对于同步来说,稍微有些复杂。原创 2023-05-30 00:05:51 · 692 阅读 · 0 评论 -
《消息队列高手课》课程笔记(六)
消息积压了该如何处理?优化性能来避免消息积压在使用消息队列的系统中,对于性能的优化,主要体现在生产者和消费者这一收一发两部分的业务逻辑中。对于消息队列本身的性能,不需要太关注。主流消息队列的单个节点,消息收发的性能可以达到每秒钟处理几万至几十万条消息的水平,还可以通过水平扩展 Broker 的实例数成倍地提升处理能力。一般的业务系统需要处理的业务逻辑远比消息队列要复杂,单个节点每秒钟可以处理几百到几千次请求,已经可以算是性能非常好的了。所以,对于消息队列的性能优化,我们更关注的是,在消息的收原创 2023-05-29 17:33:58 · 998 阅读 · 0 评论 -
《消息队列高手课》课程笔记(五)
如何处理消费过程中的重复消息?消息重复的情况必然存在在 MQTT 协议中,给出了三种传递消息时能够提供的服务质量标准,这三种服务质量从低到高依次是:At most once: 至多一次。消息在传递时,最多会被送达一次。换个说法就是,没什么消息可靠性保证,允许丢消息。一般都是一些对消息可靠性要求不太高的监控场景使用,比如每分钟上报一次机房温度数据,可以接受数据少量丢失。At least once: 至少一次。消息在传递时,至少会被送达一次。也就是说,不允许丢消息,但是允许有少量重原创 2023-05-29 17:14:49 · 1517 阅读 · 1 评论 -
《消息队列高手课》课程笔记(四)
一条消息从生产到消费完成这个过程,可以划分三个阶段:原创 2023-05-24 19:25:47 · 975 阅读 · 0 评论 -
《消息队列高手课》课程笔记(三)
如何利用事务消息实现分布式事务?什么是分布式事务?消息队列中的“事务”,主要解决的是消息生产者和消息消费者的数据一致性问题。如果我们需要对若干数据进行更新操作,为了保证这些数据的完整性和一致性,我们希望这些更新操作要么都成功,要么都失败。至于更新的数据,不只局限于数据库中的数据,可以是磁盘上的一个文件,也可以是远端的一个服务,或者以其他形式存储的数据。一个严格意义的事务实现,应该具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。原子性,是指一个事务操作不原创 2023-05-24 19:06:08 · 596 阅读 · 0 评论 -
《消息队列高手课》课程笔记(二)
消息模型:主题和队列有什么区别?两类消息模型早期的消息队列,就是按照“队列”的数据结构来设计的。生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队也就是删除操作,服务端存放消息的容器自然就称为“队列”。这就是最初的一种消息模型:队列模型。如果有多个生产者往同一个队列里面发送消息,这个队列中可以消费到的消息,就是这些生产者生产的所有消息的合集。消息的顺序就是这些生产者发送消息的自然顺序。如果有多个消费者接收同一个队列的消息,这些消费者之间实际上是竞争的关原创 2023-05-24 18:37:00 · 999 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(四)
Kafka 线上集群部署方案原创 2022-01-19 11:47:53 · 1924 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(三)
Kafka 简介原创 2022-01-18 11:17:28 · 1267 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(二)
kafka 的重要概念原创 2022-01-17 21:03:36 · 88 阅读 · 0 评论 -
《kafka 核心技术与实战》课程学习笔记(一)
消息引擎系统 ABC原创 2022-01-17 18:07:24 · 434 阅读 · 0 评论 -
《消息队列高手课》课程笔记(一)
后端服务从请求消息队列中获取 APP 请求,完成后续秒杀处理过程,然后返回结果。网关在收到请求后,将请求放入请求消息队列;原创 2023-05-24 15:06:29 · 1204 阅读 · 0 评论