libcluster
lumen
libcluster | lumen | |
---|---|---|
10 | 28 | |
1,886 | 3,585 | |
- | 0.6% | |
6.4 | 5.4 | |
5 months ago | 7 months ago | |
Elixir | Rust | |
MIT License | Apache License 2.0 |
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.
libcluster
-
Elixir clustering using Postgres
libcluster is the go-to package for connecting multiple BEAM instances and setting up healing strategies. libcluster provides out-of-the-box strategies and it allows users to define their own strategies by implementing a simple behavior that defines cluster formation and healing according to the supporting service you want to use.
- Phoenix 1.7 for Elixir: Edit a Form in a Modal
- Elixir for Ruby developers: the three most important differences
-
cannot query kubernetes (unauthorized): endpoints is forbidden: User cannot list endpoints in the namespace
I am using libcluster to connect my nodesI get the following error:
-
We used Elixir's Observer to hunt down bottlenecks
Distributed Elixir can be done with Docker containers too, see https://github.com/bitwalker/libcluster which by default has some Kubernetes support but you can also have third party (or custom) clustering strategies. I've not done this myself but I've seen articles about this a lot during the past years.
Hot code updates for most applications aren't really worth it in my opinion, assuming you do something like blue/green rollover deployments. It's cool that it's possible though. But it requires appup files and afaik Distillery is one of the release tools that has support for it built-in.
-
If you were in charge of a startup tech stack, how would you use elixir to actually scale and make every work seamlessly?
On the deployment level, you can use synchronous communication using API-based solutions or asynchronous communication using external solutions (RabbitMQ, Kafka,...) or Erlang/Elixir tools (message passing, pg2, PubSub, Libcluster,...)
- Nodes
- Nodes Elixir
-
Clustering nodes with different basenames
Looking throught libcluster code (https://github.com/bitwalker/libcluster/blob/master/lib/strategy/kubernetes_dns.ex#L150) it does seem to require that both nodes share the same basename.
-
Building a Distributed Turn-Based Game System in Elixir
libcluster – Automatic cluster formation/healing for Elixir applications.
lumen
-
Firefly – A new compiler and runtime for BEAM languages
There are details on this also: https://github.com/GetFirefly/firefly#runtime
Generally it should be assumed that actors and their concurrency model is fully supported as that is a part of the core semantics for BEAM languages.
- Firefly – an MLIR-based compiler and runtime for BEAM languages
-
DockYard R&D: FireFly Optimizes Your Elixir Compilation
I think this project used to be called Lumen until pretty recently - https://github.com/GetFirefly/firefly
- Elixir – Phoenix LiveView Native
-
Is there a way to create client-side interactivity like Vue or React with only Elixir?
Probably not a practical solution for what you are building now, but it's worth pointing out Lumen, an Erlang VM implementation that compiles to WebAssembly, and could one day enable Elixir on the frontend.
-
You had a head start, Gopher, but you can't outrun this crab.
Another vector could be some tooling that makes it easy to run Go programs compiled to Wasm run inside of Wasmtime environment hosted in Rust. If we run the go tooling in the same system, one could point this tool at a Go repo and be running that Go in a matter of milliseconds. A fun feature would be running channels across separate Wasm envs. Or maybe use Lumen.
-
If you were in charge of a startup tech stack, how would you use elixir to actually scale and make every work seamlessly?
Wish the Elixir WASM project -- Lumen -- were active. It seems like nothing much is happening on it.
What are some alternatives?
Nomad - Elixir/Phoenix Cloud SDK and Deployment Tool
wasmex - Execute WebAssembly from Elixir
horde - Horde is a distributed Supervisor and Registry backed by DeltaCrdt
lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly
Kubex - Kubex is the kubernetes integration for Elixir projects and it is written in pure Elixir.
gleam - ⭐️ A friendly language for building type-safe, scalable systems!
ex_aws - A flexible, easy to use set of clients AWS APIs for Elixir
purerl - Erlang backend for the PureScript compiler
erlcloud - AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)
Gradualizer - A Gradual type system for Erlang
discovery - An OTP application for auto-discovering services with Consul
lumen - A private Lumina server for IDA Pro