awesome-system-design
github.com/madd86/awesome-system-design ↗A curated list of awesome System Design (A.K.A. Distributed Systems) resources.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me wide column store resources from awesome-system-design"
Installation instructions →What's inside
Advanced
- 6.824 Distributed Systems by MIT
Graduate level course on distributed systems from MIT (2020).
- Building Microservices
[Free 👍] - Awesome book that talks about designing sytem architecture with microservices in depth, includes most relevant topics in this regard.
- CAP Theorem
IBM Article about CAP Theorem, Microservices and NoSQL DBs.
- CSE138 Distributed Systems by UCSC
Undergraduate course on distributed systems from UCSC (2020).
- Designing Data Intensive Applications
[Paid 💵] - Goes in depth to explain various resources we use when working with distributed systems, as well as how it came to be and what problems it aims to solve.
- Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services
[Paid 💵] - Book that talks about disitributed systems as well as lightly demonstrating some code of what it looks like.
NoSQL
- Amazon DynamoDBWide Column Store
Key-Value and Document database, highly performant, scalable and secure.
- Amazon NeptuneGraph
Fast, reliable and fully managed graph database service.
- Apache IgniteCache (Key-Value)
[3.3k ⭐] - In memory caching with ACID properties.
- Apple FoundationDBStore (Key-Value)
[10k ⭐] - Multi-model (many data types in a single database), ACID key-value store. Easily scalable and fault tolerant.
- ArangoDBGraph
[10k ⭐] - Flexible database for documents, key-value, graphs. Uses its own query language, AQL.
- CassandraWide Column Store
Facebook-born project very fast, easily scalable, with option to include consistency with each operation.
Load Balancers
- Amazon Elastic Load BalancingCloud
Popular choice for amazon customers, supports lambda functions, highly scalable.
- Azure Load BalancingCloud
Popular choice for Microsoft's Azure customers. Supports internal and external traffics, ipv6, monitorining and the standard load balancing set of features.
- BarracudaHardware
One of the top choices for load balancing when it comes to in-house servers. Top security measures built in, comprehensive reports and monitoring outbound traffic for data loss prevention.
- Cloudflare Load BalancingCloud
Scalable load balancing by Cloudflare, feature fast failover and a dashboard.
- DigitalOcean Load BalancingCloud
If you're a digitalocean customer, this is a good option, very cheap, regional availability, scalable, easy to deploy among your other droplets.
- F5Hardware
Robust hardware load balancer option, supporting multiple protocols (IP, TCP, FTP, UDP, HTTP).
Stream Processing
- Amazon Kinesis Streams
Durable, scalable, real-tme service. Collects gigabytes of data per second from hundreds of thousands of sources, including database event streams, website clickstreams, financial transactions, etc.
- Apache Flink
Based on the concept of streams and transofrmations. Uses maven, handles batch tasks as data streams with finite boundaries. Low latency, high throughput.
- Apache Samza
Build stateful applications that process data in real time from multiple sources, including Kafka. Easy and inexpensive multi-subscriber model, can eliminate backpressure and has reliable persistency with low latency.
- Azure Stream Analytics
Real-time analytics service that is designed for mission-critical workloads.
Message Broker
- Amazon MQ
Open source message broker from Amazon.
- Apache ActiveMQ
It's a multi-protocol, java based messaging server.
- Apache Pulsar
Created by yahoo, also highly scalable, low latency, geo-replication and multi-tenacy.
- Azure Service Bus
A fully managed enterprise integration message broker.
- IronMQ
Very fast and highly scalable messaging broker. (not open source)
- Kestrel
Written in Scala and speaks the memcached protocol. It works much like Kafka.
Hadoop Ecosystem
- AmbariDashboard
Dashboard that integrates most of hadoop related technologies for easy management and executions.
- Apache KafkaData Ingestion
Widely popular message broker with low latency for data streaming.
- ApexProcessing
*Retired project, it's a YARN-native platform that unifies stream and batch processing.
- FlumeData Ingestion
Distributed, highly available and efficient in collecting, aggregating and moving large amounts of log data.
- HBaseDB
[3.6k ⭐] - Modeled after Google's Bigtable and written in Java. Developed as a part of Apache Hadoop project.
- HiveQuery
Query hadoop stored data in SQL.
REST Framework
- ASP.NET Core MVC
A rich framework for building web apps and APIs using the Model-View-Controller design pattern in C# or F#. Number 6 on
- Django REST
[18.4k ⭐] - Written in Python, Django Rest is a powerful and flexible REST API. The efficiency and time to market resembles Rails.
- Express.js
[49.6k ⭐] - Fast node.js rest api that can perform well under many scenarios.
- FastAPI
[22.7k ⭐] - A lightweight Python Microframework inspired in Flask but more modern, using Python async.
- Fastify
[15.4k ⭐] - A Node.js web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture.
- Flask
[51.6k ⭐] - A lightweight Python Microframework for fast prototyping and production.
Distributed File Systems
- CephFS
Unified, distributed storage system.
- GlusterFS
Scale-out NAS file system.
- HDFS
Hadoop File System is a a widely popular choice among its big data competitors, providing high throughput access.
- Lustre
File system for computer clusters.
- MooseFS
POSIX-compliant distributed file system.
- XtreemFS
Fault tolerant file system.
Showing a sample of 115 resources. View the full list on GitHub →