Aliware Open Source 北京站 PPT Secret of Eventual Consistency in Apache RocketMQ with No Budget 杜恒


2019/03/24 发布于 技术 分类

1. 件 间 中 里 Al iw ar e 阿 Secret of Eventual Consistency in Apache RocketMQ, with No Budget 2018/9/6 1
2. 件 Safe Harbor Statement Al iw ar e 阿 里 中 间 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Alibaba’s products remains at the sole discretion of Alibaba. 2018/9/6 2
3. 中 间 件 Du Heng ar e 阿 里 Apache RocketMQ Committer Al iw Interested in distributed system, such as MQ, Microservice, and has rich experience in performance tuning. 2018/9/6 3
4. Outline 间 件 1. Challenge 4. Best Practice 里 阿 e ar iw Al 3. Architecture 中 2. Overview 5. Future 2018/9/6 4
5. 件 间 中 里 Al iw ar e 阿 1. Challenge 2018/9/6 5
6. Al iw ar e 阿 里 中 间 件 Challenge 2018/9/6 6
7. 件 间 中 Al iw ar e 阿 里 2. Overview 2018/9/6 7
8. From ACID to BASE BASE l Isolation l Durability 2018/9/6 e ar iw l Consistency Al l Atomicity 阿 里 中 间 件 ACID l Basically Available l Soft state l Eventually consistent 8
9. iw Al ar e 件 间 中 里 阿 XA 2018/9/6 9
10. Al iw ar e 阿 里 中 间 件 SAGA 2018/9/6 10
11. Al iw ar e 阿 里 中 间 件 TCC 2018/9/6 11
12. 件 Al iw ar e 阿 里 中 间 3. Architecture 2018/9/6 12
13. User Case e 阿 Send message Receive message Member service Al iw ar Account service 里 中 间 件 Send a message first or execute local transaction first ? 2018/9/6 13
14. Al iw ar e 阿 里 中 间 件 Counterpart Implementation 2018/9/6 14
15. Goal 件 05 间 03 阿 里 中 01 Async High Throughput Al iw ar e Zero Dependency High Availability 02 2018/9/6 Scalability 04 15
16. Procedure 里 中 间 件 7. Commit/ roll back 阿 1.Send half message e Commit: Consume 6. Check transaction status 2018/9/6 ar iw Producer 2.Send success MQ Rollback: discard Consumer 4.Commit/roll back Al 3.Execute transaction 5. Missing response of step 4, check back 16
17. Half Topic:'>Topic: prepare message Al iw ar e 阿 里 中 间 件 Design 2018/9/6 Operation Topic:'>Topic: commit/rollback message 17
18. Al iw ar e 阿 里 中 间 件 Implementation 2018/9/6 18
19. 件 间 中 Al iw ar e 阿 里 4. Best Practice 2018/9/6 19
20. Send message Member service 里 中 间 Receive message Al iw ar e 阿 Account service 件 Limitation 2018/9/6 20
21. Producer Practice • Transactional Producer 件 Use TransactionalProducer class to create transactional producer. 中 间 Use a specific producerGroup name. 阿 里 Set the appropriate thread pool for your local transaction execution. iw Al • Immunity time ar e • Implement TransactionListener interface. Configuration: transactionTimeOut vs CHECK_IMMUNITY_TIME_IN_SECONDS • Idempotency transactionId message body 2018/9/6 21
22. Consumer & Broker Practice • Transactional Message Broker Configuration 中 间 件 transactionCheckInterval 阿 e ar iw transactionTimeout 里 transactionCheckTimes Al • Make sure the message is consumed • Idempotent guarantee transactionId message body 2018/9/6 22
23. 件 间 中 里 阿 Al iw ar e 5. Future 2018/9/6 23
24. Al iw ar e 阿 里 中 间 件 One-stop Distributed Transaction Solution 2018/9/6 24
25. 件 间 中 Al iw ar e 阿 里 Thanks ! 2018/9/6 25
26. 件 间 中 里 阿 e 2018/9/6 iw ar l l l l l l Al Wechat DingDing From Alibaba to Apache: RocketMQ’s Past, Present, and Future Apache RocketMQ Apache RocketMQ . RocketMQ RocketMQ MQ 26