
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.