Topics / #distributed-systems

Distributed-systems projects on GitHub

Systems spanning multiple machines: consensus, replication, and fault tolerance.

As of , the most-starred Distributed-systems projects on GitHub are CS-Notes (186.3K stars), kubernetes (128.3K stars) and free-programming-books-zh_CN (119.2K stars). GitHub.Locker tracks 270 Distributed-systems repositories with 5.6M stars combined. The fastest-growing on October 16 was awesome-system-design-resources, with +161 stars in a day.

270Projects
5.6MStars in total
+1.9KStars in a day

Hot right now

Most stars gained in a day · Oct 16

The all-time top

Top 100 of 270 · by stars

  1. #1 · CyC2018/CS-Notes

    CS-Notes

    CS-Notes is a huge Chinese-language collection of study notes covering the core topics of technical coding interviews: algorithms, LeetCode solutions, operating systems, computer networks, databases, Java, and system design.

    186.3K
  2. #2 · kubernetes/kubernetes

    kubernetes

    Kubernetes (K8s) is an open source system for managing containerized applications across multiple hosts, handling the deployment, maintenance, and scaling of those applications.

    128.3K
  3. #3 · justjavac/free-programming-books-zh_CN

    free-programming-books-zh_CN

    A curated, free index of Chinese-language (and Chinese-translated) computer programming books and tutorials, covering operating systems, databases, web development, languages, AI, and more.

    119.2K
  1. 4

    every-programmer-should-know

    100.5Kmtdvio/every-programmer-should-know

    A curated, highly opinionated collection of technical resources — articles, books, videos and papers — covering things every software developer should know, from algorithms and data structures to security, architecture and career advice.

  2. 5

    vllm

    94Kvllm-project/vllm · Python

    vLLM is a library for fast LLM inference and serving, built around PagedAttention for efficient memory management of attention keys and values.

  3. 6

    system-design-101

    90.5KByteByteGoHq/system-design-101

    A free, visual collection of short explainers and cheat sheets covering core system design concepts (APIs, databases, caching, message queues, real-world company architectures) to help you understand how production systems work and prepare for system design interviews.

  4. 7

    advanced-java

    79.2Kdoocs/advanced-java · Java

    A free, community-curated collection of in-depth Java backend interview questions and answers, covering message queues, search engines, caching, sharding, distributed systems, high availability, microservices, and big-data processing.

  5. 8

    elasticsearch

    78.3Kelastic/elasticsearch · Java

    Elasticsearch is a distributed search and analytics engine, scalable data store, and vector database built for near real-time full-text search, vector search, and generative AI (RAG) use cases on production-scale data; it's the core of Elastic's Stack platform.

  6. 9

    redis

    76.9Kredis/redis · C

    Redis is an in-memory server used as a cache, data structure store, and document/vector query engine for building real-time, data-driven applications.

  7. 10

    cs-self-learning

    76.3KPKUFlyingPig/cs-self-learning · HTML

    A free, open-source online guide that curates the best open courseware from top international universities so anyone can self-study computer science from scratch, aiming to turn a beginner into a well-rounded programmer in 2-3 years.

  8. 11

    awesome-scalability

    74.8Kbinhnguyennus/awesome-scalability

    A curated, continuously updated reading list of articles, case studies, and talks from engineers at companies like Netflix, Uber, Facebook, and Amazon, showing concrete patterns for building scalable, reliable, and performant large-scale systems.

  9. 12

    the-algorithm

    74Ktwitter/the-algorithm · Scala

    This is the actual source code for X's (Twitter's) recommendation algorithm — the collection of services and jobs that build and serve feeds like the For You Timeline, Search, Explore, and Notifications.

  10. 13

    awesome-courses

    71.9Kprakhar1989/awesome-courses

    It is a curated list of free, high-quality computer science courses from universities around the world, each one making its lecture materials, assignments, notes and readings available online.

  11. 14

    git

    63.8Kgit/git · C

    This is Git, the fast, scalable, distributed revision control system with a rich command set that gives both high-level operations and full access to internals.

  12. 15

    pathway

    62.1Kpathwaycom/pathway · Python

    Pathway is a Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG, with the same code usable for batch jobs, CI/CD tests, and live data streams.

  13. 16

    minio

    61.3Kminio/minio · Go

    MinIO is a high-performance, S3-compatible object storage server, built to power AI/ML, analytics, and other data-intensive workloads.

  14. 17

    architect-awesome

    60.8Kxingshaocheng/architect-awesome

    A curated technical roadmap in Chinese for backend engineers aiming to become architects, mapping out data structures, algorithms, concurrency, databases, middleware, and system design.

  15. 18

    fuel-core

    56.8KFuelLabs/fuel-core · Rust

    Fuel-core is the official Rust implementation of a full node for the Fuel v2 blockchain protocol, used to run and participate in Fuel networks such as Ignition, Testnet, and Devnet.

  16. 19

    etcd

    52.4Ketcd-io/etcd · Go

    A distributed, reliable key-value store for the most critical data of a distributed system, written in Go and kept consistent across machines with the Raft consensus algorithm.

  17. 20

    go-ethereum

    51.4Kethereum/go-ethereum · Go

    Go-ethereum (geth) is the Go implementation of the Ethereum protocol — the main CLI client used to run a full Ethereum node, sync the blockchain, and expose JSON-RPC APIs to interact with the network.

  18. 21

    awesome-design-patterns

    49.4KDovAmir/awesome-design-patterns

    A curated list of links to resources about software and architecture design patterns, covering everything from language-specific patterns to cloud, serverless, microservices, IoT, big data, ML, databases, DevOps, mobile, front-end and security.

  19. 22

    system-design

    46.6Kkaranpratapsingh/system-design

    It is a free course and ebook that teaches how to design large-scale systems and prepares readers for system design interviews.

  20. 23

    grpc

    45.4Kgrpc/grpc · C++

    gRPC is a modern, high-performance open-source RPC (remote procedure call) framework that lets client and server applications communicate transparently across languages and platforms.

  21. 24

    spark

    44.2Kapache/spark · Scala

    Apache Spark is a unified analytics engine for large-scale data processing, offering high-level APIs in Scala, Java, Python, and R on top of an optimized execution engine.

  22. 25

    DeepSpeed

    43.2Kdeepspeedai/DeepSpeed · Python

    DeepSpeed is a deep learning optimization library that makes distributed training and inference of very large models easy, efficient and effective — it powered models like MT-530B and BLOOM.

  23. 26

    awesome-system-design-resources

    42.4Kashishps1/awesome-system-design-resources · Java

    A free, curated collection of System Design resources: core concepts, networking and API fundamentals, database and caching basics, distributed systems patterns, and a huge list of interview problems, books, courses, and papers — all aimed at prepping for System Design interviews.

  24. 27

    dubbo

    41.6Kapache/dubbo · Java

    Apache Dubbo is an RPC and microservices framework — this repository is its Java implementation. It covers communication, service discovery, traffic management, observability, security, and tooling for building enterprise-grade microservices.

  25. 28

    tidb

    40.6Kpingcap/tidb · Go

    TiDB is an open-source, cloud-native distributed SQL database written in Go — MySQL-compatible and built for high availability, horizontal scalability, strong consistency, and mixing transactions with analytics.

  26. 29

    polars

    40.1Kpola-rs/polars · Rust

    Polars is an extremely fast analytical query engine for DataFrames, written in Rust and designed to be fast, easy to use and expressive.

  27. 30

    spacedrive

    39.2Kspacedriveapp/spacedrive · Rust

    Spacedrive is a cross-platform file explorer and a cross-device data platform. It indexes files, emails, notes, and other sources, lets you search everything in one place, and syncs data across devices via peer-to-peer connections.

  28. 31

    istio

    38.4Kistio/istio · Go

    Istio is an open-source service mesh that layers transparently onto existing distributed applications, giving you a uniform way to secure, connect, and monitor microservices with few or no code changes.

  29. 32

    interview_internal_reference

    37.3K0voice/interview_internal_reference · Python

    A curated collection of real technical interview questions and answers from major Chinese tech companies — Alibaba, Tencent, Baidu, Meituan, ByteDance and more — with analysis from expert interviewers.

  30. 33

    sglang

    37.2Ksgl-project/sglang · Python

    SGLang is a high-performance serving framework for large language models and multimodal models, built to deliver low-latency, high-throughput inference from a single GPU up to large distributed clusters.

  31. 34

    seaweedfs

    35.5Kseaweedfs/seaweedfs · Go

    SeaweedFS is a distributed storage system that serves billions of small and large files with O(1) disk access, exposing the same data as an S3 object store, a POSIX file system, and an Iceberg/Lance data lakehouse through one binary.

  32. 35

    qdrant

    35.1Kqdrant/qdrant · Rust

    Qdrant is a high-performance vector similarity search engine and vector database written in Rust, built to store, search, and manage 'points' (vectors plus a JSON payload) for AI applications like semantic search, recommendations, and RAG.

  33. 36

    rustfs

    35Krustfs/rustfs · Rust

    An open-source, high-performance distributed object storage system written in Rust. It speaks the S3 API, is optimized for data lakes, AI and big data workloads, and supports migration and coexistence with MinIO and Ceph.

  34. 37

    k3s

    34.2Kk3s-io/k3s · Go

    K3s is a lightweight, fully conformant, production-ready Kubernetes distribution packed into a single binary under 100 MB that runs with roughly half the memory of standard Kubernetes.

  35. 38

    kafka

    34Kapache/kafka · Java

    Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

  36. 39

    x-algorithm

    33.7Kxai-org/x-algorithm · Rust

    This is the open-source code behind X's (Twitter's) 'For You' feed algorithm. It finds, scores, ranks, and filters which posts each viewer sees, blending posts from followed accounts with ML-discovered out-of-network content.

  37. 40

    anoma

    33.6Kanoma/anoma · Elixir

    Anoma is the reference implementation of the Anoma protocol - a distributed, peer-to-peer system combining blockchain-style consensus and cryptography, written mainly in Elixir with a Rust component.

  38. 41

    nacos

    33.5Kalibaba/nacos · Java

    Nacos is a platform from Alibaba for dynamic service discovery, configuration management, and service management, aimed at building cloud-native microservices and AI applications.

  39. 42

    cockroach

    32.6Kcockroachdb/cockroach · Go

    CockroachDB is a distributed SQL database built on a transactional, strongly-consistent key-value store, designed for high availability, horizontal scale, and surviving hardware failures without manual intervention.

  40. 43

    conductor

    32.3Kconductor-oss/conductor · Java

    An open-source durable execution engine for microservices and AI agents: it persists every workflow step so long-running processes survive crashes, retries, and restarts. It originated at Netflix and is maintained by Orkes and the community.

  41. 44

    linera-protocol

    32.1Klinera-io/linera-protocol · Rust

    Linera is a decentralized blockchain infrastructure built for highly scalable, secure, low-latency Web3 applications, using a microchain architecture where each user can own their own chain.

  42. 45

    shardeum

    31.2Kshardeum/shardeum · TypeScript

    Shardeum is an EVM-compliant blockchain platform that uses dynamic state sharding to scale horizontally, aiming for faster processing and lower transaction costs without sacrificing security or decentralization.

  43. 46

    llm.c

    31.2Kkarpathy/llm.c · Cuda

    llm.c is Karpathy's project for training large language models in raw C and CUDA, with no dependency on 245MB of PyTorch or 107MB of cPython. It currently focuses on pretraining GPT-2 and GPT-3-scale models, with train_gpt2.cu as the main CUDA training path.

  44. 47

    xxl-job

    30.6Kxuxueli/xxl-job · Java

    XXL-JOB is a distributed task scheduling framework: a central scheduler triggers jobs across a cluster of executors, all managed from a web UI. It aims to be quick to develop with, simple to learn, lightweight and easy to extend, and many companies run it in production.

  45. 48

    consul

    30.1Khashicorp/consul · Go

    Consul is a distributed, highly available, data center aware solution for connecting and configuring applications across dynamic, distributed infrastructure. It is built to be datacenter aware and can support any number of regions without complex configuration.

  46. 49

    apollo

    29.8Kapolloconfig/apollo · Java

    Apollo is a reliable configuration management system. It centrally manages the configurations of different applications and different clusters, and is built for microservice configuration management scenarios.

  47. 50

    canal

    29.7Kalibaba/canal · Java

    Canal is Alibaba's MySQL binlog incremental subscription and consumption component. It disguises itself as a MySQL slave, pulls binlog events from a MySQL master, and lets you consume the parsed changes for things like cache refresh, index building, or database synchronization.

  48. 51

    system-design-academy

    29.4Ksystemdesign42/system-design-academy

    A curated collection of system design case studies, fundamentals, interview prep, and AI engineering resources, organized as a big reference list tied to a newsletter.

  49. 52

    spring-cloud-alibaba

    29.2Kalibaba/spring-cloud-alibaba · Java

    A Spring Cloud toolkit from Alibaba: a one-stop set of components for building distributed Java applications on Alibaba middleware such as Nacos, Sentinel, RocketMQ and Seata.

  50. 53

    cs249r_book

    29Kharvard-edge/cs249r_book · Python

    An open textbook and full curriculum on Machine Learning Systems — AI engineering — from Harvard's CS249r course: four volumes covering foundations, scaling, agentic AI, and physical AI, plus labs, projects, and instructor materials.

  51. 54

    celery

    29Kcelery/celery · Python

    Celery is a distributed task queue for Python: clients put units of work (tasks) on a queue and dedicated worker processes monitor the queue and run them — across threads, machines, even datacenters.

  52. 55

    xgboost

    28.9Kdmlc/xgboost · C++

    XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable — it implements machine learning algorithms under the Gradient Boosting framework.

  53. 56

    mongo

    28.6Kmongodb/mongo · C++

    MongoDB, a widely used NoSQL database. This repo is the database itself: mongod is the server process that stores your data, and mongos is its sharding router.

  54. 57

    locust

    28.2Klocustio/locust · Python

    Locust is an open source performance/load testing tool for HTTP and other protocols — you define your tests in regular Python code and run them from the command line or a web-based UI.

  55. 58

    valkey

    27.4Kvalkey-io/valkey · C

    Valkey is an open-source, high-performance data structure server for key/value workloads like caching and other realtime use cases. It ships a wide range of native structures plus a plugin system for adding new ones.

  56. 59

    kit

    27.4Kgo-kit/kit · Go

    Go kit is a programming toolkit (a set of packages and best practices) for building microservices or well-structured monoliths in Go, solving common distributed-systems and architecture problems so you can focus on business logic.

  57. 60

    rethinkdb

    27Krethinkdb/rethinkdb · C++

    RethinkDB is an open-source, distributed NoSQL database built for realtime web applications; instead of making your app poll for changes, it pushes updated query results straight to you.

  58. 61

    JCSprout

    26.8KcrossoverJie/JCSprout · Java

    JCSprout ('Java Core Sprout') is a Chinese-language knowledge base of core Java topics: a curated collection of articles on collections, multithreading, JVM internals, distributed systems, frameworks, algorithms and Netty, with over 26k GitHub stars.

  59. 62

    elixir

    26.7Kelixir-lang/elixir · Elixir

    Elixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).

  60. 63

    miaosha

    26.6Kqiurunze123/miaosha · Java

    This is a Chinese learning repository about designing and building a high-concurrency 'flash sale' (seckill) system for internet engineers, combining iterative demo projects, small frameworks, study notes and diagrams covering distributed-systems topics.

  61. 64

    system-design-notes

    26.6Kliquidslr/system-design-notes

    A set of study notes summarizing the 'System Design Interview - An Insider's Guide' books (Volumes 1 and 2), covering common system design interview topics chapter by chapter.

  62. 65

    flink

    26.4Kapache/flink · Java

    Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities, running your programs on its own distributed runtime.

  63. 66

    dapr

    26.2Kdapr/dapr · Go

    Dapr is an open-source, CNCF-graduated runtime for building distributed applications, workflows, and AI agents. It packages durable execution, secure service-to-service communication, state management, and event-driven messaging behind one consistent set of APIs.

  64. 67

    incubator-seata

    26Kapache/incubator-seata · Java

    Apache Seata is an open source distributed transaction solution for microservices, designed to be high-performance and easy to use.

  65. 68

    nsq

    25.8Knsqio/nsq · Go

    NSQ is a realtime distributed messaging platform — a message queue built to operate at scale, handling billions of messages per day.

  66. 69

    llm-action

    25.2Kliguodongiot/llm-action · HTML

    It is a Chinese-language hub of in-depth tutorials on large language model engineering: training, fine-tuning, distributed training, inference, compression, evaluation, data engineering, LLMOps and AI infrastructure, organized as a big index linking the author's article series, many with companion code.

  67. 70

    Hystrix

    24.5KNetflix/Hystrix · Java

    Hystrix is a Java library that isolates calls to remote services and third-party libraries, stopping cascading failures and enabling resilience in complex distributed systems.

  68. 71

    redisson

    24.4Kredisson/redisson · Java

    A Java client and real-time data platform for Redis and Valkey: 50+ distributed Java objects, collections and services — maps, queues, locks, rate limiters, bloom filters, schedulers — beyond what Redis offers natively.

  69. 72

    verl

    23.9Kverl-project/verl · Python

    verl is a flexible, efficient and production-ready reinforcement learning training library for LLMs, initiated by ByteDance's Seed team and maintained by the community. It is the open-source version of the HybridFlow paper (EuroSys 2025).

  70. 73

    system-design-interview

    23.9Kcheckcheckzz/system-design-interview

    A curated guide for preparing system design interviews at IT companies, covering interview tips, basic system design knowledge, engineering blogs, real-world architectures, and common design questions with reference material.

  71. 74

    ddia

    23.8KVonng/ddia · Python

    A free Chinese translation of Martin Kleppmann's 'Designing Data-Intensive Applications' (DDIA), covering both the 1st and the complete 2nd edition; 210 contributors have polished it since 2018.

  72. 75

    temporal

    23.8Ktemporalio/temporal · Go

    Temporal is a durable execution platform: a server that runs units of application logic called Workflows resiliently, automatically handling intermittent failures and retrying failed operations.

  73. 76

    neon

    23.2Kneondatabase/neon · Rust

    Neon is an open source serverless Postgres platform. It splits storage from compute and replaces the PostgreSQL storage layer with a distributed engine that spreads data across a cluster of nodes — which is what enables autoscaling, database branching, and scale to zero.

  74. 77

    Sentinel

    23.1Kalibaba/Sentinel · Java

    Sentinel is a flow control, traffic shaping, circuit breaking and system adaptive overload protection component for microservices, built and battle-tested at Alibaba across years of Double-11 shopping festivals.

  75. 78

    go-micro

    23.1Kmicro/go-micro · Go

    Go Micro is an agent harness and service framework for Go — a runtime around an agent (its tools, memory, guardrails, workflows, and services) where agents, services, and durable flows all share one runtime.

  76. 79

    ipfs

    23.1Kipfs/ipfs

    IPFS (InterPlanetary File System) is an open, peer-to-peer system for storing and sharing data without relying on a central server.

  77. 80

    rocketmq

    22.6Kapache/rocketmq · Java

    Apache RocketMQ is an open-source distributed messaging and streaming platform for building event-driven applications, with low latency, trillion-level capacity and flexible scalability.

  78. 81

    go-redis

    22.3Kredis/go-redis · Go

    The official Redis client library for Go: you import it into your Go program to talk to Redis servers. It targets the last three Redis releases and speaks both RESP2 and RESP3.

  79. 82

    vitess

    21.4Kvitessio/vitess · Go

    Vitess is a cloud-native distributed database system built around MySQL, designed for horizontal scaling.

  80. 83

    awesome-production-machine-learning

    21KEthicalML/awesome-production-machine-learning

    A curated, community-maintained directory of open source libraries for production machine learning: tools to deploy, monitor, version, scale, and secure ML systems, grouped into 25+ annotated sections.

  81. 84

    nats-server

    20.9Knats-io/nats-server · Go

    This is the NATS server — the high-performance core of NATS.io, a messaging system for connecting digital systems, services and devices. It's a CNCF project.

  82. 85

    shardingsphere

    20.8Kapache/shardingsphere · Java

    An Apache Top-Level Project positioned as 'Database Plus': a layer built over your existing heterogeneous databases that adds distributed SQL - sharding, read/write splitting, encryption - without making you replace them.

  83. 86

    mxnet

    20.8Kapache/mxnet · C++

    Apache MXNet is a deep learning framework designed for both efficiency and flexibility: it lets you mix symbolic and imperative programming, and a dynamic dependency scheduler automatically parallelizes operations on the fly.

  84. 87

    architecture.of.internet-product

    20.8Kdavideuler/architecture.of.internet-product · HTML

    This is a curated Chinese-language collection of real-world technical architecture documents from major internet companies — WeChat/Tencent, Taobao/Alibaba, Meituan-Dianping, Baidu, Qihoo 360, and global players like OpenAI, Google, Facebook, Amazon and eBay.

  85. 88

    SpringBoot-Labs

    20.1Kyudaocode/SpringBoot-Labs · Java

    A large Java learning repository packed with hands-on example modules covering six Spring-related technology stacks: Spring Boot 2.X, Spring Cloud, Spring Cloud Alibaba, Dubbo, distributed message queues, and distributed transactions.

  86. 89

    whitepaper

    20.1Kunicitynetwork/whitepaper · TeX

    This repository hosts the Unicity protocol whitepaper and its companion papers, describing the 'Autonomous Agentic Internet', the protocol's system model, tokenomics, and how the network components fit together.

  87. 90

    advanced-go-programming-book

    20.1Kchai2010/advanced-go-programming-book · Go

    This is the open-source online book 'Advanced Go Programming' (Go语言高级编程), covering CGO, Go assembly, RPC implementation, Protobuf plugins, web framework implementation and distributed systems for developers who already have some Go experience.

  88. 91

    gun

    19.1Kamark/gun · JavaScript

    GUN is an open source cybersecurity protocol for syncing decentralized graph data — a peer-to-peer database that keeps app data in sync across browsers and devices, with no master server and no single source of truth.

  89. 92

    Sa-Token

    19.1Kdromara/Sa-Token · Java

    Sa-Token is a free, open-source Java authentication and authorization framework covering login, permission checks, SSO, OAuth2.0 and microservice gateway auth — one lightweight dependency for all of it.

  90. 93

    cat

    18.9Kdianping/cat · Java

    CAT is an open-source real-time application monitoring platform (APM) written in Java at Meituan-Dianping. It collects performance metrics, health status and alerts from your services and turns them into live reports.

  91. 94

    system-design-resources

    18.5KInterviewReady/system-design-resources

    A curated collection of the best System Design resources on the Internet — one README that organizes engineering writeups, papers and talks into a topic-by-topic reading list.

  92. 95

    Megatron-LM

    18.2KNVIDIA/Megatron-LM · Python

    NVIDIA's open-source toolkit for training large transformer (LLM) models at scale. It comes as Megatron-LM, a reference setup with ready training scripts, and Megatron Core, a composable library of GPU-optimized building blocks for training models across thousands of GPUs.

  93. 96

    AISystem

    18KInfrasys-AI/AISystem · Jupyter Notebook

    AISystem (AISys) is an open-source course covering the full AI stack: AI chip architecture, AI compilers, inference systems/engines, and training framework internals.

  94. 97

    SpringCloudLearning

    17.9Kforezp/SpringCloudLearning · Java

    This is the source code accompanying 'The Simplest Spring Cloud Tutorial Ever' (史上最简单的SpringCloud教程), a long-running Chinese blog series by author forezp that teaches Spring Cloud microservices step by step, covering service registration, service calls, circuit breaking, gateways, config, tracing and more.

  95. 98

    rqlite

    17.8Krqlite/rqlite · Go

    rqlite is a lightweight, fault-tolerant distributed relational database built on SQLite — think etcd, but with relational modeling — built to keep your data highly available with minimal effort.

  96. 99

    toBeBetterJavaer

    17.8Kitwanger/toBeBetterJavaer · Java

    toBeBetterJavaer (二哥的Java进阶之路) is a free, community-built Chinese knowledge base of original articles covering Java fundamentals, concurrency, the JVM, enterprise development (Spring Boot, MySQL, Redis) and interview prep, meant to help readers 'become a better Java developer'.

  97. 100

    brpc

    17.6Kapache/brpc · C++

    bRPC is an industrial-grade C++ RPC framework built at Baidu for high-performance systems like search, storage, machine learning, advertisement and recommendation; the name stands for 'better RPC'.

Showing the 100 most-starred of 270. See every one in the catalog.

Often tagged together