1. Reaching Agreement in the Presence of Faults
2. Some constraints and tradeoffs in the design of network communications
3. M. Kleppmann, Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, 1st edn (O'Reilly Media, 2017), pp. 352–37.
4. P. Bernstein and E. Newcomer, Principles of Transaction Processing (Elsevier, Amsterdam, 2009), 400p.
5. Towards Scalable and Reliable In-Memory Storage System: A Case Study with Redis