自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Apache Pulsar消息去重原理与源码分析

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-08-04 01:47:28 842

原创 Apache Pulsar副本放置策略原理与源码分析

在Pulsar中消息以entry的形式存储在ledger中,存储时ledger以多副本的形式存储在多个Bookie中,将ledger存储在bookkeeper集群的哪些bookie即是由副本放置策略算法决定,副本放置策略由bookie客户的控制,在Pulsar中Bookie客户端有两种方式读写数据。

2024-07-21 21:38:18 961

原创 Apache Pulsar 消息确认机制原理与源码分析

At Most Once:指消息最多只被传递一次,但有可能出现消息丢失的情况。这种保证方式适用于对数据可靠性和一致性要求不高的场景。At Least Once:消息确保至少被处理一次,但由于系统设计或不可抗力导致的处理失败,可能会出现重复处理的情况。大多数常用的消息队列,如RocketMQ、RabbitMQ和Kafka,都默认提供“至少一次”的保证。Pulsar默认也是。

2024-07-21 21:35:57 1076

原创 Apache Pulsar负载均衡模块原理与源码分析

负载均衡对于一个分布式系统而言是不可或缺的重要模块,Apache Pulsar 实现了 Broker 无需手工干预的动态负载均衡,得益于 Pulsar 在设计之初从架构上分离了存储层和计算层,可以更加灵活地分配 Broker 与 Topic 的映射关系。

2024-07-21 21:33:20 751

原创 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 1463

原创 Apache BookKeeper源码分析-recover原理

因为从事Pulsar研发工作,因此本文从pulsar层面介绍Bookkeeper中recover操作的重要性。Pulsar中利用Bookkeeper存储消息,架构图如下:pulsar中broker作为bk client创建topic对应的ledger,并持续写入消息,关闭ledger再创建新的ledger并写入,如此往复。下面通过两个场景来引入recover操作的作用。

2024-06-30 22:47:09 1108

原创 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 841 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除