脉冲星 5 月脉动 | Pulsar 2.3.2 即将发布、2.4.0 预览、Pulsar 与 Camel 集成
作者:zymap + Anonymitaet
审校:Sijie + Jennifer
编辑:Susan + Anonymitaet
阅读本文需要约 10 分钟。
本月亮点速览
产品动态
Pulsar 2.3.2 版本即将发布
Pulsar 2.4.0 版本预览
海内外社区动态
Pulsar 与 Camel 集成 (THG)
Awesome Pulsar
Apache Roadshow Chicago(美国联合航空公司)
EventStreaming Meetup
EMQ Meetup
多篇技术干货出炉
产品动态
Pulsar 2.3.2 版本即将发布
Apache Pulsar 将在 6 月上旬正式发布 2.3.2 版本。
2.3.2 版本修复和改进了用户在使用 2.3.1 版本时反馈的问题,包括消息存储核心、多语言客户端和 Pulsar Functions 等,具体如下:
在核心存储方面,将 BookKeeper 版本升级到 4.9.2,解决了 DbLedgerStorage 启动失败和用户在安装 BookKeeper 客户端依赖库时,需要安装 GCC 的问题。在 broker 方面,修复了死锁、认证和消息回退等问题。在安全方面,升级了认证版本。
在多语言客户端,修复了 Python 嵌套结构下无法进行序列化的问题,修复了 C++ 初始化错误,修复了 pulsar-client-go 构建时参数类型错误等。
在 Pulsar Functions 方面,丰富了 Functions Worker 的功能,优化了 Java Function,并在 Python 中增加了 Table service 接口。修复了提交功能,可以通过 URL 上传整个文件。
Pulsar 2.4.0 版本预览
整个 5 月,2.4.0 版本的开发在紧张有序地进行,以下是 2.4.0 版本的主要功能预览。
Go Function API、Instance 和 LocalRun
Functions 是 Pulsar 轻量级计算框架。Pulsar 将在 2.4.0 中正式支持 Go Functions,Go Functions 已经支持了在本地和集群环境运行,相关功能已经合并到主分支。
更多信息,参阅 [PIP-32]
(https://github.com/apache/pulsar/wiki/PIP-32%3A-Go-Function-API%2C-Instance-and-LocalRun)。
跨地域复制订阅
Pulsar 提供了跨地域复制功能,通过配置可以将 topic 复制到多个地域。
目前,topic 在不同集群上只是一个虚拟的全局实例,对于订阅而言是在本地集群上,不同集群之间并没有联系,这就导致当某个消费者重连到一个新的地域时,消费者会创建一个名字相同但与上一个连接毫无关联的订阅。这个订阅会通过配置中消息的位置来创建,与此同时,原来的订阅将被留在上一个地域,这导致了不同地域之间消息不连贯的问题。PIP-33 通过创建快照解决了这个问题。
更多信息,参阅 [PIP-33]
(https://github.com/apache/pulsar/wiki/PIP-33%3A-Replicated-subscriptions)。
最大消息大小
Pulsar 支持消息最大为 5 MB,在一些数据迁移的场景中,5 MB 很难满足需求,所以增加了这个阈值。目前,Java 端已经开发完毕,并且已经合并到主分支;C++ 端也在支持中。
更多信息,参阅 [PIP-36]
(https://github.com/apache/pulsar/wiki/PIP-36%3A-Max-Message-Size)。
事务支持
Pulsar 保证消息分发的最高机制是 exactly-once,通过 Idempotent Producer 保证了一个分区内的消息只会被持久化一次,而不会丢失,但对多分区的生产者生产的消息没有原子性保证。在 Pulsar Functions 中只保证了一个事件的 exactly-once,但并不保证在处理多个事件或生产多个结果时事件的准确。事务消息语义简化了 Pulsar 或 Pulsar Functions 的使用,同时扩大了 Pulsar 的领域。目前已经有一些 commits 合并到主分支,将会在 2.5.0 版本支持事务。
更多信息,参阅 [PIP-31]
(https://github.com/apache/pulsar/wiki/PIP-31%3A-Transaction-Support)。
其他亮点
- 压缩类型 -
目前,Pulsar 支持 LZ4、ZLIB 和 ZSTD 压缩算法对消息进行压缩,Pulsar 将在 2.4.0 版本新增 Snappy 压缩算法。
更多信息,参阅 [PR-4259]
(https://github.com/apache/pulsar/pull/4259)。
- Schema 兼容性检查 -
Pulsar 只对最新版本的 Schema 进行兼容性检查,在支持了 Struct schema 之后,这种检查难以满足需求。
2.4.0 版本将提供 FORWARD_TRANSITIVE、BACKWARD_TRANSITIVE、FULL_TRANSITIVE 对所有版本的 schema 进行兼容性检查。
更多信息,参阅 [PR-4214]
(https://github.com/apache/pulsar/pull/4214)。
- 流量控制 -
Pulsar 支持对 topics 和 subscriptions 限流来控制网络带宽的使用。跨地域复制时,当一个集群 A 下线一段时间后再上线,会导致其他集群的同步消息将集群的网络带宽耗尽。2.4.0 版本支持跨地域复制的流量控制来解决这个问题。
更多信息,参阅 [PR-4273]
(https://github.com/apache/pulsar/pull/4273)。
- 拦截超时消息确认 -
Pulsar 将在 2.4.0 版本支持对超时消息确认进行拦截,用户可以自定义在消息确认超时情况下的处理逻辑。
更多信息,参阅 [PR-4300]
(https://github.com/apache/pulsar/pull/4300)。
- 二级 Bookie 隔离组 -
Pulsar 使用 BookKeeper 进行消息存储,当隔离组里的 bookie 不够时会导致 bookie 宕机并影响 broker 的写操作。2.4.0 版本支持二级 Bookie 隔离组解决这一问题。
更多信息,参阅 [PR-4261]
(https://github.com/apache/pulsar/pull/4261)。
- 多主机 -
Pulsar 可以通过 Pulsar Proxy 进行多主机访问,同时也能通过提供多地址访问多个 broker,并实现了自动重试。2.4.0 版本支持对 Pulsar Admin 的多地址重试,用户需要提供多地址的访问路径。
更多信息,参阅 [PR-4018]
(https://github.com/apache/pulsar/pull/4018)。
海内外社区动态
Pulsar 与 Camel 集成
Apache Camel 是一个功能强大的开源集成框架,它可以基于多种 DSL 实现路由,Camel 可以通过 URIs 来定义路由方式。
THG 集成了 Pulsar 与 Camel,将 Pulsar 作为 Camel 的组件之一。Pulsar 与 Camel 的集成构建了微服务应用层和底层消息系统之间的抽象层,这有利于更换消息来源。
更多信息,参阅 [A feather in their caps]
(https://medium.com/thg-tech-blog/a-feather-in-their-caps-4c4083cf9f46)。
Awesome Pulsar
Awesome Pulsar 提供了一个与 Pulsar 相关的工具、集成和资源列表,可以快速查找到你需要的 Pulsar 生态工具。欢迎小伙伴们对列表查阅补漏。
更多信息,参阅 [Awesome Pulsar]
(https://github.com/streamnative/awesome-pulsar)。
Apache Roadshow Chicago
2019 年 5 月 13 日,Joe Olson 在 Apache Roadshow Chicago 大会上发表了关于“Apache Kafka 与 Apache Pulsar 在美国联合航空公司的应用对比”的演讲,分析了 Kafka 和 Pulsar 的架构和生产部署模式的共同点和差异化、美国联合航空公司目前开源的发布-订阅消息系统的现状等。
更多信息,参阅 [Pub/Sub at United Airlines: Apache Kafka and Apache Pulsar]
(https://www.apachecon.com/chiroadshow19/talks/pub-sub-at-united-airlines-apache-kafka-and-apache-pulsar.html)。
EventStreaming Meetup
2019 年 5 月 11 日,StreamNative 在北京举办了 EventStreaming 第 1 场技术沙龙,本次沙龙主要介绍了 Apache Pulsar 跨地域复制和 Functions 的功能概览和技术细节。
更多信息,参阅 [EventStreaming Meetup No.1]
(https://mp.weixin.qq.com/s/yRLjLhlgCtK4He-lhuf3Yg)。
EMQ Meetup
2019 年 5 月 18 日,EMQ 团队在北京举办了主题为“基于 EMQ X 打造 5G 时代物联网(loT)平台和应用”的技术沙龙,我司 CEO 郭斯杰受邀参与本次沙龙,与 EMQ 解决方案总监 Frank Wang 合作发表了主题为“Apache Pulsar 在 EMQ 开源物联网平台产品 ActorCloud 上的应用”的演讲。
更多信息,参阅 [EMQ X Meetup 北京站]
(https://mp.weixin.qq.com/s/fXYfyWgxH_WY5B5QASG7CA)。
多篇技术干货出炉
以下技术大佬发表了技术博客。
Chris Bartholomew:
选择 Pulsar 而不是 Kafka 的 7 大理由
郭斯杰:
Flink 和 Pulsar 的批流融合
翟佳:
如何在 Pulsar 中使用 Debezium Connector
Pulsar 跨地域复制实践
高天赐:
MacOS 单机搭建 Pulsar 集群
冉小龙:
Apache Pulsar 之 Java Function 实践篇
狂野:
Pulsar 负载均衡设计
以上是本期全部内容,欢迎加入 Pulsar 社区,我们下期再见。
脉冲星 5 月脉动 | Pulsar 2.3.2 即将发布、2.4.0 预览、Pulsar 与 Camel 集成相关推荐
- 脉冲星 6 月脉动 | Pulsar Summit 北美峰会圆满结束,ApacheCon 议程官宣
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...
- 脉冲星 1 月脉动 | Pulsar 2.5.0 和 Pulsarctl 0.3.0 发布,多项活动期待您的参与
????本月看点速览 产品动态 Apache Pulsar 2.5.0 发布 Pulsarctl 0.3.0 发布 新增 PIP 社区动态 海内外社区动态 技术干货 >>> 产品动态 ...
- 脉冲星 4 月脉动 | 2.5.1 版本正式发布,多平台分享正在进行中!
???? 本月看点速览 产品动态 新增 PIP 新增功能(2.5.2) Bug 修复(2.5.2) 社区动态 海内外社区动态 技术干货 ???? 产品动态 4 月 23 日,Apache Pulsar ...
- 脉冲星 9月脉动 | 2.4.1 版本发布和社区海内外布道
????️本文阅读需 20 分钟 8 月 30 日,Apache Pulsar 2.4.1 版本正式发布,相关内容可点此????????Apache Pulsar 发布 2.4.1 版本 ✨新增功能 ...
- 苹果向媒体发出WWDC2019邀请函:6月4日举办 iOS 13即将发布
[TechWeb]5月23日消息,据国外媒体报道,当地时间周三,苹果向媒体发出了邀请函,邀请他们参加在太平洋时间6月3日上午10点(美国东部时间6月3日下午1点/北京时间6月4日凌晨1点)举行的第30 ...
- 服务器维护10月11魔兽,魔兽世界10月11日更新内容是什么_10.11PVP改动预览_3DM网游...
魔兽世界10月11日将会对游戏进行修正,改动内容主要是PVP方面,很多小伙伴对此并不清楚,因此小编下面就为大家带来魔兽世界10月11日更新预览,一起来看看吧. <魔兽世界>10月11日更新 ...
- 令人振奋的好消息!2016年12月8日Google Developers中文网站发布!
令人振奋的好消息! 2016年12月8日Google Developers中文网站发布! 以往我们需要访问Android的开发网站.Google的开发网站都需要翻墙,苦不堪言.现在Google发布了中 ...
- 互联网日报 | 6月30日 星期三 | 叮咚买菜正式登陆纽交所;微软发布Win 11首个预览版;三星宣布3nm芯片成功流片...
今日看点 ✦ 雷军退任天星银行董事会主席,小米CFO林世伟接替 ✦ 叮咚买菜正式登陆纽交所,市值超55亿美元 ✦ 奈雪的茶今日登陆港交所,每股定价19.8港元 ✦ 淘宝全球购618战报:购买人数超30 ...
- 9月11号华为发布鸿蒙2.0和EMUI 11,来看看鸿蒙最牛逼的地方
2019年发布了鸿蒙1.0 鸿蒙os 2020年9月11号将发布鸿蒙2.0 链接:https://developer.huawei.com/consumer/cn/events/hdc2020/ 什么 ...
最新文章
- 60亿元高新项目落户西安
- 春节前后学习实践的技术领域
- Spring Boot微信点餐——实战开发DAO层
- env: zh_CN.GB2312:: No such file or directory
- 运维工程师仪表免费换新活动开始了…任何品牌万用表、钳表、测温仪都可以换福禄克万用表、钳表、测温仪...
- 纯键盘操作,玩转资源管理器
- 反思代码优化点:充分使用错误处理机制
- 如何让Edge浏览器整体作为一个窗口,而不是每个标签页(选项卡)作为一个窗口?
- cocos2dx引用计数
- 天池 在线编程 区间合并(字符串)
- LeetCode 160. Intersection of Two Linked Lists
- 学习笔记01:《开放平台产品成长之路-POP》
- Django根据现有数据库建立/更新model
- android创建sqlite在sd卡上,在ionic3的sdcard上创建SQLite数据库
- html验证用户名长度,JQuery表单字符串长度验证
- CodeForces - 1324D Pair of Topics (分治+排序)
- 通用vue组件化登录页面
- ResponseResult
- 自动计数报警器c语言程序,计数报警器电路设计方案汇总(多款模拟电路设计原理图详解)...
- 记码农十周年(20110214--20210214)
热门文章
- 开发必备的最高100个 Flutter 开源精品项目
- java毕业设计汽车维修管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
- Ubuntu 20.04 更新软件依赖,源 ,删除软件三个常用指令
- kanziopengl杂谈
- dango之day01
- 软件测试流程及规范(参考大华为的规范)
- 如何用c语言教小学生学英语,家长怎么教小学生学英语
- npm ERR! nested aliases not supported 报错原因
- 如何搭建APP分发平台分发平台搭建教程
- idea发送请求提示 无法保留cookie.cookie storage file is included in ignored list: