极客视点
极客时间编辑部
极客时间编辑部
113233 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/02:58
登录|注册

使用Kafka Streams构建事件溯源系统

讲述:丁婵大小:1.36M时长:02:58
最近,在乌克兰基辅举行的 JEEConf 大会上,Wix 的软件工程师阿米泰·霍维茨(Amitay Horwitz),介绍了他的团队是如何实现一个事件溯源的发票系统,以及团队是如何使用 Kafka Streams 实现新的设计。
在设计新服务时,霍维茨和他的团队想要创建一种小规模的简单软件库,具有非侵入式的、能维护数据的完整性、易于添加客户视图等能力。为了实现这个目标,团队决定使用事件溯源架构实现服务。
在霍维茨看来,Kafka 是一种有副本的、容错的、分布式的只添加日志,经常被用于“发布者 - 订阅者”模式,或者是作为队列使用。Kafka 的基本结构为主题(Topic),它是一种分区的逻辑队列。事件溯源系统具有两个重要的关键特性,分别是使用单一分区维护消息的顺序,以及消息在被消费后得到存储。
据介绍,Kafka Streams 为 Kafka 添加了流处理的能力。它提供了两种抽象:
数据流(Streams):霍维茨认为,数据流是流动的数据,是一种无限、有序、可以重放的不可变数据序列,适用于事件源系统。
表(Tables):它是静止的数据,存储了聚合数据在某个时间点的视图,并在接收到新消息时更新。
在使用 Kafka 的发票系统新设计中,团队实现了一个快照状态存储,用于保存每个聚合的当前状态。当从命令流中接收到一个命令后,命令处理器从状态存储中读取相应聚合的当前状态。进而处理器可以决定命令状态是成功还是失败。如果命令处理成功,那么系统将会创建事件,推送到事件存储并读取新事件的数据流,然后更新状态存储中的聚合状态。
Kafka 是新架构的核心,其中微服务可以与 Kafka 通信,而且微服务之间也是通过 Kafka 通信的。系统还可以推送信息到 Kafka,或者是在创建分析报告实例时,从 Kafka 获取信息。
霍维茨表示,尽管他们已经在生产中大量地使用了 Kafka,但是新设计依然处于评估阶段。有人认为 Kafka 并不适用于 CQRS 和事件溯源系统,但是,霍维茨认为,可以在明确权衡考虑的情况下充分使用 Kafka。如果用户希望能够保存具有客户各种属性的页面浏览事件,那么就可以轻易地根据这些信息创建聚合。这样做符合事件溯源的形式,而且 Kafka 非常适用于此。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
36
沉浸
阅读
分享
手机端
快捷键
回顶部