Skip to content

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.

Released under the MIT License.