Pulsar
文章平均质量分 95
qq_1434749602
这个作者很懒,什么都没留下…
展开
-
Apache Pulsar消息去重原理与源码分析
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。原创 2024-08-04 01:47:28 · 636 阅读 · 0 评论 -
Apache BookKeeper源码分析-recover原理
因为从事Pulsar研发工作,因此本文从pulsar层面介绍Bookkeeper中recover操作的重要性。Pulsar中利用Bookkeeper存储消息,架构图如下:pulsar中broker作为bk client创建topic对应的ledger,并持续写入消息,关闭ledger再创建新的ledger并写入,如此往复。下面通过两个场景来引入recover操作的作用。原创 2024-06-30 22:47:09 · 909 阅读 · 0 评论 -
Apache Pulsar 消息确认机制原理与源码分析
At Most Once:指消息最多只被传递一次,但有可能出现消息丢失的情况。这种保证方式适用于对数据可靠性和一致性要求不高的场景。At Least Once:消息确保至少被处理一次,但由于系统设计或不可抗力导致的处理失败,可能会出现重复处理的情况。大多数常用的消息队列,如RocketMQ、RabbitMQ和Kafka,都默认提供“至少一次”的保证。Pulsar默认也是。原创 2024-07-21 21:35:57 · 709 阅读 · 0 评论 -
Apache Pulsar消息清理流程源码分析
示例:TTL策略指消息在指定时间未被用户Ack时会有broker主动Ack掉,由于Retention策略不会清理未Ack的消息,因此TTL策略很有必要。TTL策略逻辑由定时任务周期执行,代码如下:周期时间由messageExpiryCheckIntervalInMinutes控制,默认值为5分钟。producer注册到broker是通过CommandProducer请求完成的,broker处理该请求时会加载对应topic至topics内。同时consumer注册到broker是通过CommandSu原创 2024-07-14 23:42:04 · 1225 阅读 · 0 评论 -
Apache BookKeeper源码分析-AutoRecovery模块原理
对于OPEN状态的ledger,当>=qa数量的bookie下线,如果无消息写入或者写入频次很低,会等到写入请求到来时才会触发报错创建新的ledger。如果在此之前该ledger从broker A分配到Broker B会触发recover,但ledger的多个bookie节点(>=2)已下线因此recover必定失败,出现异常ledger(即异常topic)。当e=3,qw=3,qa=2时,Bookkeeper承诺entry存储的副本数为2或3。注:下文按e=3,qw=3,qa=2策略展开。原创 2024-06-30 00:16:44 · 716 阅读 · 1 评论