-
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.
