You forgot 2) Cache invalidation and 3)
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
There's two hard problems in computer science: we only have one joke and it's not funny.
Source: https://martinfowler.com/bliki/TwoHardThings.html
* naming things * cache invalidation * off by one errors