libcluster
Cloudi
libcluster | Cloudi | |
---|---|---|
10 | 1 | |
1,940 | 410 | |
- | 0.0% | |
4.6 | 7.5 | |
20 days ago | 2 months ago | |
Elixir | Erlang | |
MIT License | MIT License |
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.
Cloudi
What are some alternatives?
Nomad - Elixir/Phoenix Cloud SDK and Deployment Tool
GCloudex - Friendly set of wrappers for Google Cloud Platform services' API's in Elixir.
horde - Horde is a distributed Supervisor and Registry backed by DeltaCrdt
ex_aws - A flexible, easy to use set of clients AWS APIs for Elixir
Kubex - Kubex is the kubernetes integration for Elixir projects and it is written in pure Elixir.
discovery - An OTP application for auto-discovering services with Consul
IElixir - Jupyter's kernel for Elixir programming language
erlcloud - AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)
aws - AWS clients for Elixir
sidetask - :awesome = Elixir's Task ++ Basho's sidejob library