The two key issues Swift has to solve are as follows:
- Where to put and fetch data
- How to keep the data reliable
We will explore the following topics to fully understand these two issues.
Key architectural principles
Some key architectural principles behind Swift are as follows:
- Masterless: A master in a system creates both a failure point and a performance bottleneck. Masterless removes this and also allows multiple members of the cluster to respond to API requests.
- Loosely coupled: There is no need for tight communication in the cluster. This is also essential to prevent performance and failure bottlenecks.
- Load spreading: Unless the load is spread out, performance, capacity, account, container, and object scalability cannot ...