4月13日下午,我司 CEO 郭斯杰受邀在 DataPipeline & Apache Rocket Meetup 中分享了 Efficient Schemas in Event Streaming using Apache Pulsar。
郭斯杰是 StreamNative 的联合创始人,Apache Pulsar PMC Member 和 Apache BookKeeper PMC Chair,对 Event Streaming、流计算及其周边生态有着强烈兴趣。在 meetup 中,他介绍了 Apache Pulsar:一款分布式发布-订阅消息流系统。Pulsar 支持多租户,支持队列和流计算 (streaming),计算存储分离。他从如何开始使用 Pulsar,异常解析讲到 Pulsar schema。在 schema 中,他详细介绍了如何利用 schema 定义序列化、非序列化数据,schema 的 primitive 和 complex 类型;generic schema, auto schema 及其使用示例,schema 的发展及其管理等等。更多详细介绍,请观看视频。
除了斯杰的分享,meetup 中还有七位大咖,分享了 Apache RocketMQ 的发展史及其声明式运维,微软第二曲线数字化转型创新的新模式,Kafka、RocketMQ 在瓜子、VIP KID 的实践等。真可谓是大咖云集,大饱眼福。特别感谢数见科技及各个协办单位为大家提供了这么好的机会。
下面我们来一起回顾下这场盛宴吧。
Talk 1: Apache RocketMQ Past, Now and Future
厉启鹏 (Apache RocketMQ 中国社区发起人)
厉启鹏老师为大家介绍了 Apache RocketMQ,一款分布式消息中间件,是金融级消息流数据平台,能支撑万亿级消息洪峰,是第一个中国企业贡献给 Apache 的顶级项目。他介绍了 RocketMQ 的发展史、生态系统及其未来愿景:
- 孵化 50+ 企业
- 增加 500+ 社区 contributors,把 RocketMQ 做得更加完善
- 在全球支持 50000+ 企业
- 覆盖到 5000000+ 开发者,通过城市社区聚集、培养 RocketMQ 人才,进一步完善 RocketMQ 产品。
随后他分享了 RocketMQ 在平安银行、微众银行、弘康人寿、券商和联想的案例;RocketMQ 的社区情况:开发者关系,媒体矩阵,开发者培训,社区管理,文档和布道。厉老师特别强调,RocketMQ 的文档放在 https://github.com/apache/rocketmq/tree/master/docs 目录,分为中英文目录,文档中介绍了 RocketMQ 的原理,最佳实践和 example 等。之后厉老师介绍了 RocketMQ 生态项目组(今年的重点是开发 connectors)和城市社区的理念和想法。在最后环节,他介绍了 RocketMQ 5.0 的特点:协议可插拔,存储和计算分离(这个和 Apache Pulsar 的特性相似哦);在运维方面优化 console,优化周边生态,让其更易用。
Talk 2: “第二曲线”与企业数字化转型创新
檀林(微软加速器 北京 CEO)
“这是一场技术盛宴,但我们不要就技术讨论技术,更要想想怎么帮助传统企业利用技术创新。”檀老师高屋建瓴,带领大家跳出具体技术细节,开启“第二曲线”,用数据技术带动企业数字化转型创新。
- 新技术推动变革速度呈指数级增长,既有的市场定义不再适用。数字化转型创新将带来新的商业模式和行业改变。如果商业模式构建在数据上,和传统的制造业通过占有资源,形成竞争关系不同,数据的价值,不在于你拥有多少,而在于你能分享多少;通过分享数据,获取反馈,数据的价值会形成指数增长。
- 数据技术驱动企业六大“蝶变”:产品服务化,服务智能化,员工社会化,客户员工化,资源共享化,公司平台化。
- 数字化转型需要建立新的商业思维,开启“第二曲线”需要刷新底层商业操作系统和认知。在这里檀老师推荐了两本书:《第二曲线:跨越“S型曲线”的第二次增长》、《刷新:重新发现商业和未来》。他以微软为案例,讲述了微软是如何通过刷新使命、刷新战略、刷新文化,经过短短四年的时间,再次走向技术巅峰。
- 刷新使命:赋能全球每一个人,每一个组织,帮助他们成就不凡;
- 建立耳目一新、出人意料的伙伴关系,共同做大蛋糕;
- 刷新文化:用“同理心”重新发现商业与未来,加强成长性思维,成为终身学习者和超级合作者。
微软从封闭转变为全世界为开源贡献最多的公司,在眼里没有竞争对手。我们向微软学习,一起拥抱开源吧,Apache Pulsar 社区热烈欢迎您~~
-
CEO 的 3C 法则:文化(culture)、能力(capabilities)、概念(concept)。微软的重生完美地揭示了企业如何冲破自我开启“第二曲线”实现成功转型。
檀老师给大家分享了一个公式
(教育+创新)x 数字化转型强度=第二曲线增长
他介绍了微软加速器企业数字转型创新第二曲线计划,如何开启数字化创新型企业的增长模式(startup+微软校友帮助+微软研究院战略帮助),并总结了数字化转型创新使企业有机会成为平台化的公司,升级商业模式纬度:从有边界的企业蜕化成无边界的企业。
Talk 3: 新型企业数据融合平台的探索与实践
刘瀚林(DataPipeline 后端研发负责人)
数见科技是一家专业提供一站式实时数据融合服务的公司,国内实时数据管道技术的倡导者。DataPipeline 是数见科技自主研发的一款数据融合产品,无需任何代码,通过可视化图形配置界面只需 5 分钟即可自服务部署一条实时数据管道,并提供丰富的管理功能。
刘瀚林老师介绍了数据融合的背景:数据融合是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集成,从而为企业提供全面的数据共享。
企业数据融合平台的典型架构
企业数据融合要解决的关键问题:异构、动态、扩展、完整。
- 异构:繁琐的数据源和目的地适配工作,异构数据的转换
- 动态:数据源结构随时可能发生变化,造成下游写入失败
- 扩展:受业务驱动的水平扩展和一对多分发要求,多任务并行的 QoS
-
完整:数据一致性保证,任务暂停及出错后的进度恢复
消息队列在数据融合平台中的作用:解藕、高可用、水平扩展、schema mapping、offset 管理和一致性。
随后,刘老师介绍了 DataPipeline 现有的架构,Kafka connect 的特性介绍和 offset 的管理,DataPipeline 在项目中遇到的挑战及解决方案,如何保证数据的一致性,流式框架下的批量同步事务性保证及实现细节,分库分表/多对一的实时同步,多表下的低延时。他把 Kafka Connect 与 OpenMessaging Connect 做了详细对比。
最后,他分享了 OpenMessaging connect runtime 设计的想法。他希望未来和社区一同优化 OpenMessaging connect runtime 实现,提供基于 OpenMessaging 的 DataPipeline 版本。
Talk 4: RocketMQ 的声明式运维
-- 利用 Kubernetes Operator 模式运维 RocketMQ 集群
王昕(RocketMQ & OpenMessaging Community,阿里中间件技术团队高级技术专家)
王昕老师给大家详细讲述了为什么 RocketMQ 需要 Operator。
核心问题就是无状态服务和有状态服务的区别:无法同时保证一致性和可用性。
Kubernetes 架构
随后,他给大家详细讲解了 Kubernetes 的主要概念:
- cluster,master,node,namespace。
- labels, annotations, selectors。
- stateless workloads
- stateful and system workloads
- network access
Kubernetes 发展的很好,是因为它的扩展性特别好,能够吸引各个应用将其能力扩展在 Kubernetes 上。它的扩展点有 Devices, storage(volume),networking(CNI)和 custom API。
Kubenetes 拥有丰富的资源,从 API server 到 ETCD,API server 中包括 pod,svc,job,deploy,rs,crobjob 和 CRD。
Kubenetes 还有 custom resource definition,kubenetes controllers。
随后,王老师给大家介绍了 RocketMQ cluster topology,如何部署 RocketMQ 集群和数据的工作等。他的讲解详细而有深度,让大家进一步了解了 Kubernetes 和 RocketMQ 集群。
Talk 5:瓜子结构化数据流
彭超、孙强(瓜子架构师)
彭超老师先和大家解释了瓜子选择 Kafka 的原因:数据量大,需要分布式处理、分布式存储,多语言支持和高可用。瓜子在使用 Kafka 遇到的问题:参数配置问题,开发测试不方便,监控报警没有, Topic 申请不便,结构化数据查询不方便,消费差异定位不便,不知道下游,运维复杂等等。遇到这么多问题,瓜子是如何解决的呢?彭老师通过使用场景,和大家一一分享了解决方案。
彭老师身兼二职,代替孙强和大家分享了瓜子实时数据 ADHOC,离线数据 ADHOC,BI 类应用等等。
Talk 6:Apache RocketMQ 开发者沙龙
李伟(VIP KID 数据中间件架构师)
李伟老师先和大家介绍了 VIP KID 选择 MQ 需求:性能好,主题多,统一管理,API 友好,能再次开发。通过各种比较筛选,VIP KID 最终选择了 RocketMQ 和 Kafka。他从四个方面讲述了 RocketMQ 在 VIP KID 中的实践:Diff-subscription-in-the-same-group, Docker, how to work in in-multi-testing-env, VKMQ console。他希望 MQ 未来能采用 OpenMessaging 标准,希望在 VIP KID 中 RocketMQ 和 Kafka 能实现 All in one。
我们衷心祝愿李老师的愿望能早日实现,同时也希望 Apache Pulsar 能帮助李老师尽快实现这个美好愿望。
有关本次 meetup 的更多干货分享,请关注 DataPipeline 微信公众号。
有关 Pulsar 的更多分享,请关注 ApachePulsar/StreamNative 微信公众号和我们的后续文章。