ra VS Atomix

Compare ra vs Atomix and see what are their differences.

ra

A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system. (by rabbitmq)

Atomix

A Kubernetes toolkit for building distributed applications using cloud native principles (by atomix)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
ra Atomix
7 1
778 2,345
0.5% -0.0%
8.9 2.2
5 days ago 30 days ago
Erlang Go
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ra

Posts with mentions or reviews of ra. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-14.
  • The Erlang Runtime System
    3 projects | news.ycombinator.com | 14 Feb 2024
    Erlang/OTP doesn't handle leader election, and by itself is bad at handling netsplits.

    There is https://github.com/rabbitmq/ra which is a Raft implementation in Erlang that is Jepsen-tested. You could use it to build "etcd in Erlang", or https://github.com/rabbitmq/khepri which is built on top of Ra.

  • Ask HN: Good examples of fault-tolerant Erlang code?
    4 projects | news.ycombinator.com | 28 Dec 2023
    Just to add to this, there are some implementations of things like consensus algorithms in Erlang such as Ra: https://github.com/rabbitmq/ra
  • Elixir at Ramp
    2 projects | news.ycombinator.com | 24 Nov 2023
  • An Animated Introduction to Elixir
    6 projects | news.ycombinator.com | 8 Nov 2022
    You may find these interesting...

    - "The Onion Layer Theory" https://learnyousomeerlang.com/building-applications-with-ot...

    - "On Erlang, State and Crashes" http://jlouisramblings.blogspot.com/2010/11/on-erlang-state-...

    - "Why Restarting Works" https://ferd.ca/the-zen-of-erlang.html (search for "Heisenbug")

    > you should store the state in the external system

    Disk works too, but if you're multi-node this means you now have a distributed database embedded in your system, which may or may not be your goal :)

    RabbitMQ does this, they developed a library for "persistent, fault-tolerant and replicated state machines" based on Raft: https://github.com/rabbitmq/ra.

  • Question about a Decentralized Timeline
    2 projects | /r/elixir | 19 Dec 2021
  • Building Aggregates in Elixir and PostgreSQL
    2 projects | /r/elixir | 13 Jul 2021
    Here is link number 1 - Previous text "Ra"

Atomix

Posts with mentions or reviews of Atomix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-28.
  • How to Achieve Geo-redundancy with Zeebe
    2 projects | dev.to | 28 Jun 2022
    To understand how we can achieve resilience in Zeebe, you first need to understand how Zeebe does replication. Zeebe uses distributed consensus — more specifically theRaft Consensus Algorithm — for replication.There is an awesomevisual explanation of the Raft Consensus Algorithm available online, so I will not go into all the details here. The basic idea is that there is a single leader and a set of followers. The most common setup is to have one leader and two followers, and you’ll see why soon.

What are some alternatives?

When comparing ra and Atomix you can also consider the following projects:

lasp - Prototype implementation of Lasp in Erlang.

Hazelcast - Hazelcast is a unified real-time data platform combining stream processing with a fast data store, allowing customers to act instantly on data-in-motion for real-time insights.

MicroRaft - Feature-complete implementation of the Raft consensus algorithm in Java

Apache ZooKeeper - Apache ZooKeeper

khepri - Khepri is a tree-like replicated on-disk database library for Erlang and Elixir.

Akka - Build highly concurrent, distributed, and resilient message-driven applications on the JVM

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

JGroups - The JGroups project

buffstreams - A library to simplify writing applications using TCP sockets to stream protobuff messages

Redisson - Redisson - Easy Redis Java client and Real-Time Data Platform. Sync/Async/RxJava/Reactive API. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC, local cache ...

fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http

Vert.x - Vert.x is a tool-kit for building reactive applications on the JVM