Kafka-on-Pulsar 的前世今生,新秀 Pulsar 到底好在哪?

Kafka-on-Pulsar 的前世今生,新秀 Pulsar 到底好在哪?

在正式进入干货讲解前,先简单说说这以下两个元件。

**Protocol Handler **是在 Pulsar 2.5.0 版本后加入的新机制,希望开发者们能利用 Pulsar 已有的基础架构,把 Pulsar 当作一个可靠、高效、稳定的流数据存储,可以利用它去开发一些可插拔消息协议。

所以 Kafka-on-Pulsar 是基于 Protocol Handler 进行开发的,支持 Kafka 2.0 协议的插件。只需下载 KoP 插件并安装到已有的 Pulsar broker 里,就能在 Pulsar 里支持 Kafka 协议。优点是简化了从 Kafka 迁移到 Pulsar 的流程,不需要更改两遍代码,直接无缝迁移。

接下来就一起详细看看,KoP 的开发历程吧。

什么是 Apache Pulsar

Apache Pulsar 是一个事件流平台。最初,Apache Pulsar 就采用云原生、分层分片的架构。该架构将服务和存储分离开来,使系统实现更友好的容器化。

而现在,Pulsar 不仅仅是是一个消息中间件,更是一个消息+流数据结合的系统,即 Cloud-Native Event Streaming。

我们之前写过很多关于 Pulsar 的具体详情,感兴趣的可以查看 : Apache Pulsar 介绍 。

Why KoP?

Plusar 为队列和流工作负载提供统一的消息模型。Pulsar 支持自己基于 protobuf 的二进制协议,以确保高性能和低延迟。protobuf 有利于实现 Pulsar 客户端。

而且,该项目也支持 Java,Go,Python 和 C ++ 语言以及社区提供的第三方客户端。但是,对于使用其他消息传输协议编写的应用程序,用户必须重写这些应用程序,否则这些应用程序无法采用 Pulsar 新的统一消息传输协议。

为了解决这一问题,Pulsar 社区之前也开发了一些应用程序,以便将 Kafka 应用程序从其他消息系统迁移到 Pulsar。例如,Pulsar 在 Kafka Java API 上提供了 Kafka wrapper。

Kafka wrapper 允许用户在不改变代码的情况下将其使用的 Kafka Java 客户端应用程序从 Kafka 切换到 Pulsar。Pulsar 还提供丰富的 connector 生态系统,用于连接 Pulsar 和其他数据系统。

但是,那些想要从其他 Kafka 应用程序切换到 Pulsar 的用户仍然有强烈的需求。

KoP 的诞生背景

因此,就产生了“在 Pulsar 上支持 Kafka 协议”的想法。最初的猜想是添加一个 proxy,比如好多公司会在 Kafka 之前加一个类似 HTTP proxy,后续再转换成 Pulsar 协议。

第二种猜想是能否直接将 Kafka 协议直接接入到 Pulsar broker 里,也就是目前 KoP 的成型。

那么关于第一种 proxy 做法&

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值