对于 Apache Pulsar
Apache Pulsar 是 Apache 软件基金会顶级我的项目,是下一代云原生分布式音讯流平台,集音讯、存储、轻量化函数式计算为一体,采纳计算与存储拆散架构设计,反对多租户、长久化存储、多机房跨区域数据复制,具备强一致性、高吞吐以及低延时的高可扩大流数据存储个性。
本篇文章,咱们将带着刚刚圆满结束的 Pulsar Summit 精华版内容,为大家分享 Apache Pulsar 的成长历史。
对于 Pulsar Summit 会议
本次 Pulsar Summit 次要是由 StreamNative 和 Splunk 主办,集结了来自欧洲、亚洲、北美洲泛滥国内大厂的 CEO、开发人员、数据架构师等。
还有来自 Pulsar Committer、Contributor 的实战经验分享,波及公布 / 订阅音讯、事件流、无服务器计算、实时剖析、事件驱动应用程序和治理生产中的要害工作等最佳实际。
Pulsar 我的项目的成长
Pulsar 最后是以「集音讯和事件流为一体的云原生平台」呈现在众人背后。Pulsar 我的项目的撑持不仅仅是地域性的,其实更是一个全球性的开源我的项目,达到了几大洲用户 / 使用率同步增长的成果。
很多国际性公司,比方 Splunk、Narvar、Instructure、腾讯、虎牙等,这些公司大多看中了 Pulsar 的独特性能,开始用 Pulsar 代替之前的零碎进行部署本人的产品,也通过他们的用户扩充了 Pulsar 我的项目影响力和社区活跃度,使 Pulsar 取得了更多关注。
想要获取更多应用 Pulsar 来部署本人产品的公司列表,能够参考:
https://pulsar.apache.org/en/powered-by/。
Pulsar 劣势
同时,在年初咱们整顿「Pulsar 年度报告」时,也总结出了 Pulsar 的一些劣势,比方:
- 能够减少产品敏捷性,让公司疾速应答市场变动;
- 为业务开发解锁新的应用方向;
- 升高开发成本以及改良客户体验等。
Apache Pulsar 用其差异化特色吸引了越来越多的用户。
在考察中也发现,Pulsar 云原生、存储与计算拆散和以分片为核心的架构设计,是用户最青睐的亮点。还有可强伸缩性和高弹性,Pulsar 真的是把 MQ 行业的特点拿捏的恰到好处呢,费用不太高还很无能,性价比超高的好嘛!!
咱们在收集 Pulsar 用户案例时也发现,大部分用户将 Pulsar 用作打造异步应用程序、外围我的项目等实际,或者是从 Kafka 等我的项目迁徙到 Pulsar 来构建 ETL 流水线(提取、转换、加载)操作等。这也是目前 Pulsar use case 的外围应用场景。
同时在集体应用用户中,大家应用最多的性能:比方 Pub/Sub、多租户、跨区域复制、Pulsar Functions 和 Connectors、分层存储,都成为用户青眼的特点,阐明 Pulsar 也有其不可代替之处,更多的实用特点还等着大家一起去开发鸭!
社区成长
咱们在之前很多时候都是在介绍 Pulsar 产品的一些动静,或者技术上的一些更新公布,很少会去提 Pulsar 整个社区的动静。
其实从 2019 年 1 月开始,到当初 2020 年 6 月份左右,contributor 的数量从 48 人减少到 280 人左右,18 个月的工夫达到了 7 倍级的数量增长。从数据增长上,咱们也很感激大家的参加和我的项目反对!
Pulsar 的将来
从最开始的我的项目孵化到当初,根底层面的代码根本没有改变过,始终执行着它「分层分块」架构的模型。在产品方面,Pulsar 的工程师们致力于将最好的基础设施让用户们去构建音讯零碎。
同时,在社区里凝听和接收用户们的不同需要和倡议,对 Pulsar 产品进行一代又一代的更新和欠缺。
从一开始的分层存储 Pub-Sub 开始搭建,增加 Schema 让整个数据变得更加结构化;增加 Functions 让 Pulsar 领有实时流数据的解决能力;增加 Connector 让 Pulsar 能够与第三方零碎更繁难化对接;引入 SQL,能够应用 SQL 语言在 Pulsar 里查问数据等等。
这些都是 Pulsar 产品的大提高。
Pulsar Message
Pulsar 作为一个消息中间件,它的指标始终都是提供最外围的音讯公布和订阅,让用户应用不同的协定、语言,从不同的中央来生产和生产音讯。
对于音讯协定的反对,Pulsar 最近也是在不停地拓展。比方曾经开源的 KoP(Kakfa on Pulsar)、AoP(AMQP on Pulsar)。这些咱们之前都公布过文章,大家能够点击文字间接跳转查看。
当然,之后咱们也会开源出 MoP(MQTT on Pulsar),让 Pulsar 能够更加不便地反对这些不同类型的音讯协定。
同时对于一些新性能也都在扩大中,比方事务反对、REST API 的生产和生产、只读 broker、exclusive producer、主动扩缩容等等。这些都会逐步在将来版本中一一出现。
Pulsar Storage
在存储方面,Pulsar 也在致力成为流数据存储平台,根本都是围绕在性能、可操作性和老本开销方面去进行开发,使 Pulsar 和 BookKeeper 作为高效平台在不同环境中运行。比如说云端存储或者长久化部署。
但其实从存储层面看的话,Pulsar 的每一个大版本都围绕存储做了改良,也奠定了存储和计算拆散的性能。
- 分布式 log:根底存储
- Schema:结构化存储
- 分层存储:有限流容量
- Topic 压缩:表和流二元表白
- Key-Value:函数状态拜访
包含新增的 Columnar Offloader、State store 等性能,也在存储层面为 Pulsar 的功能性添砖加瓦。
Pulsar Processing
有了音讯和存储后,为了让收集到 Pulsar 的数据有价值,就须要计算过程了。Pulsar 在计算层面次要是想做到实时、大规模地处理事件流。
- 利用 Pulsar Functions,能够实现更轻量级 / 无服务器的计算
- 利用 Pulsar-Flink/Spark 集成汇合,能够进行批量简单地流解决计算
- 利用 Pulsar SQL 在 Pulsar 里进行 SQL 或 Presto 语言的交互式查问
同时 Pulsar 也在开发 event storage API 接口,能够不便用户间接拜访 Pulsar storage,用同一套接口就能够实现搭建 Pulsar-Flink/Spark 等集成利用。
除了在计算方面跟其余零碎打造集成外,Pulsar 也在 Functions 上做足了功课。接下来的版本更新中,可能会针对 Functions 更新以下性能:
- 可插拔的语言运行
-
Function registry
- 共享和重用性能
-
可操作性
- 版本控制性能
- 降级 / 回滚
- A / B 测试
- Connectors(批处理 / 流连接器)
为了使用户能够更容易地应用 Pulsar,也诞生了很多 managements tool。比方后期的 Pulsar Manager、Pulsarctl、Pulsar Helm Chart 等等。
更多 Pulsar 管理工具,大家能够在 StreamNative Hub 进行查看和应用:https://hub.streamnative.io。
Q & A
Q:组合 Function(Function Mesh)会增加么?
A:目前这个性能的外部实现曾经有雏形了,会在接下来的工夫内开源出此我的项目,敬请期待。
Q:音讯轨迹这个性能,后续会反对吗?
A:Pulsar 可能不会间接反对音讯轨迹,但可能会通过增加命令的形式去追踪实现。
Q:Presto SQL 查问 BookKeeper 外面的音讯,会对正在生产生产的音讯有多大性能影响?读 BookKeeper 会影响写性能吗?
A:对于正在生产的音讯,不会有太大的影响。
Q:Pulsar 当前会出商业版本吗,定向反对金融企业?
A:Pulsar 目前外围的性能还是开源的状态,跟企业相干的平安个性会以插件的形式去实现。前期会出商业化版本。
总 结
本次分享,次要是由 Pulsar Summit opening keynote 内容,向大家简略概括了对于 Pulsar 的一些功能性、概念性的细节。心愿通过此次分享,能够让大家更分明的理解 Pulsar 在生产应用中的目标和成果。
如需查看更多细节,能够点击回放视频进行查看。