Best of Distributed SystemsMarch 2025

  1. 1
    Article
    Avatar of elixirstatusElixirStatus·1y

    Overengineered #001: Hello World

    The post explores building an overengineered 'Hello World' system using Elixir. It demonstrates creating a distributed system where multiple nodes automatically discover each other and send 'hello world' messages to newly joined nodes. The setup involves using GenServers, UDP broadcast for node discovery, and handling node greetings with the Greeter module. The project is aimed at learning and fun, showcasing an extensive approach to a simple problem.

  2. 2
    Article
    Avatar of fullstackprojectsFullstack Projects·1y

    Horizontal vs Vertical Scaling: Key Differences

    Two primary strategies for system performance and scalability are horizontal scaling and vertical scaling. Horizontal scaling involves adding more instances and distributing traffic across nodes, suitable for distributed systems, and is more fault-tolerant. Vertical scaling upgrades existing machines with more resources, simpler to implement but is limited by hardware capacity and has a single point of failure.

  3. 3
    Article
    Avatar of communityCommunity Picks·1y

    Distributed Systems without Raft (part 1)

    FlowG, a low-code log management software, is transitioning from a standalone server to a distributed system to address user demands for replication, high availability, and redundancy. The project considered Raft and Paxos protocols for consensus, but found them unsuitable due to their unavailability during leader election. Instead, they chose the SWIM protocol and aim for eventual consistency using Conflict-free Replicated Data Types (CRDTs). The replication layer is still in development, with ongoing explorations into optimizing performance and reliability.

  4. 4
    Article
    Avatar of bytebytegoByteByteGo·1y

    Facebook’s Database Handling Billions of Messages

    Cassandra is a powerful distributed database system created by Facebook to manage and store massive volumes of data across many computers. Designed to support features like Facebook's Inbox Search for billions of messages, Cassandra is highly scalable, fault-tolerant, and ensures high availability even if some nodes fail. It is derived from Amazon Dynamo and Google Bigtable, combining their best features to overcome scalability issues faced by traditional databases like MySQL. Key features include distributed storage, no single point of failure, and efficient data handling through commit logs, memtables, and SSTables. Its architecture uses a peer-to-peer model and the gossip protocol for efficient node communication.