libcluster
tictac
Our great sponsors
libcluster | tictac | |
---|---|---|
10 | 3 | |
1,882 | 338 | |
- | 0.0% | |
6.4 | 1.8 | |
5 months ago | over 2 years ago | |
Elixir | Elixir | |
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.
tictac
-
Should I use ETS or a GenServer when I just need a K/V store
I wrote a multi-player, multi-region tic-tac-toe game using LiveView. You can check it out here. https://github.com/fly-apps/tictac
-
Transitioning from AWS ecosystem to BEAM/Elixir
I know that you said that you don't want to be locked into another cloud, but I would recommend a read at https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/ to see how easier it is to build a distributed application in elixir than in other stacks, just think of fly.io as the equivalent to k8s, providing just the infrastructure.
- Building a Distributed Turn-Based Game System in Elixir
What are some alternatives?
horde - Horde is a distributed Supervisor and Registry backed by DeltaCrdt
Nomad - Elixir/Phoenix Cloud SDK and Deployment Tool
flyctl - Command line tools for fly.io services
Kubex - Kubex is the kubernetes integration for Elixir projects and it is written in pure Elixir.
overbooked - Overbooked is a self-hosted flexible workplace platform for indie co-working owners.
ex_aws - A flexible, easy to use set of clients AWS APIs for Elixir
cachex - A powerful caching library for Elixir with support for transactions, fallbacks and expirations
discovery - An OTP application for auto-discovering services with Consul
wireguard-vyatta-ubnt - WireGuard for Ubiquiti Devices
erlcloud - AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)
phoenix_live_view - Rich, real-time user experiences with server-rendered HTML