Recap|Apache Pulsar 事务简介、TiDB 悲观事务

2019/12/04 17:00
阅读数 270

🎙️

上周六 Apache Pulsar Meetup 联合 PingCAP Infra Meetup 在北京举办了一场「事务」主题的线下交流活动,来自 Apache Pulsar 社区的李鹏辉、张勇和 PingCAP TiKV 研发工程师吴雪莲一起,为大家带来了两个精彩的分享。以下是活动回顾,enjoy~


>>> 01 - Pulsar 事务简介


李鹏辉 | Apache Pulsar Committer/PMC Member

张勇 | Apache Pulsar Contributor, StreamNative engineer


本次分享李鹏辉和张勇介绍了开源项目 Apache Pulsar  (https://github.com/apache/pulsar) 和其中 Transaction 的设计实现与使用。

🙋‍♂️内容包括:

1. Apache Pulsar 的架构和优势;

2. 目前在 Apache Pulsar 中 At-most once,At-lease once 和 Exactly once 消息语义的实现。并且详细讲述了现在通过 Idempotent Producer 实现的 Exactly once;

3. Transaction 的架构和 Transaction 在 Pulsar 中的实现,并且通过举例讲述了 Transaction 如何实现多个操作的原子性;

4. 讨论了在 Transaction 的设计中,如何处理超时以及多个 Transaction 的交互以及存储的问题。


🎬视频回顾:




>>> 02-TiDB 悲观事务的设计与实现


吴雪莲 | TiKV 研发工程师


悲观锁是在多数金融场景不可替代的一个重要特性,TiDB 3.0 在基于 Percolator 事务模型的基础上实现了悲观事务,本次分享吴雪莲老师介绍了 TiDB 悲观锁的设计与实现.

🙋‍♂️主要通过以下几个维度展开:

1. 什么是悲观锁,悲观锁与乐观锁的区别与联系;

2. TiDB 兼容 MySQL 协议,MySQL 中悲观锁的行为分析;

3. TiDB 悲观锁的设计与实现原理,如何处理等锁、检测死锁;

4. 作为事务新功能,TiDB 如何保障悲观锁的正确性;

5. TiDB 悲观锁使用与注意事项。


最后,大家还一起探讨了如何在分布式系统中优雅地支持悲观锁,以及如何去优化 TiDB 现有的死锁检测、等锁处理逻辑。

🎬 视频回顾:



👇🏻点击「阅读原文」获取此次分享的全部文件

本文分享自微信公众号 - StreamNative(StreamNative)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部