These are divided into 6 broad categories
Distributed Computing
- • Distributed message queues facilitate async communication and decouple services
- • Distributed caching improves performance by storing frequently accessed data in memory
- • A Distributed task scheduler manages and coordinates the execution of tasks
Scalability and Performance
- • Scaling services help adjust the capacity of services to handle changes in demand
- • CDNs serve content from geographically closer locations to improve performance and reduce latency.
- • Consistent hashing minimizes the remapping of keys when nodes are added or removed
Service Management
- • Service discovery enables services to find and communicate with each other without hard-coding network locations
Networking and Communication
- • DNS translates human-readable domain names into IP addresses
- • Load Balancer distributes incoming network traffic across multiple servers
- • API Gateway acts as a single entry point for a group of microservices
Data Storage and Management
- • Databases store and manage structured data
- • Object storage helps store complex objects like images, videos, and documents
- • Sharding helps horizontally partition data across multiple nodes
- • Replication helps horizontally scale the database by copying data to multiple nodes
Observability and Resiliency
Gain insights into the system's internal state through metrics, logging, and tracing.