Skip to main content

A curated list of awesome System Design (A.K.A. Distributed Systems) resources.

12k
GitHub Stars
115
Curated Resources
11
Categories
8 hours ago
Last Refreshed
Introduction / InterviewsAdvancedRelational Database Management SystemNoSQLDistributed File SystemsResource ManagementStream ProcessingMessage BrokerLoad BalancersHadoop EcosystemREST Framework

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

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 →