Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems
Distributed platforms, like Apache Ignite, rely very much on horizontal scalability. More machines in the cluster - greater performance of the application. Do we always get twice faster after adding the second machine to the farm? Ten times faster after adding ten machines? Is that [always] true? What is the responsibility of the platform? And where do engineers' responsibility begin?
In this talk we will cover compromises and pitfalls architects face when designing distributed systems:
- Advantages and disadvantages of different data-sharding algorithms
- Effective data models for distributed environments
- Synchronization and coordination in distributed systems
- Local scalability issues of speeding up local processing on cluster nodes