Entenda o porque o LibCluster e essencial para suas aplicacoes em Phoenix Liveview
Tags: elixir, phoenix, beam, liveview
Published: 2022-07-11 11:13:46

# Saudacao

Seja muito bem vindo, seja muito bem vinda ao #FullstackElxpro


Aqui nós discutimos as estratégias e dicas de sua jornada de aprendizado em Elixir. Isso é do zero até a sua primeira vaga como desenvolvedor elixir

**Do you want to learn Elixir in three months? https://elxpro.com/sell**

Eu sou o Gustavo e o tema de hoje é: **A pior maneira de lidar com sessoes com Phoenix Liveview.**

_ps: Voce pode acompanhar o artigo com o [video](https://youtu.be/GBQ6zw3aXr4)

_Quer aprender mais sobre elixir em um canal do Telegram?_
https://elxpro.com/elxcrew-org-yt-descr



# O que é?

O **libcluster** e uma biblioteca que prove uma maneira simples de conexao entre **ERLANG NODES** que facilita a comunicacao de clusters. 

# Por quê **LibCluster** é importante?

Passa a ser importante a partir do momento em que voce tem sistemas distribuidos e voce precisa de criar comunicacao de maneira simples entre eles, onde existe uma dificuldade enorme de criar _listeners_ quando uma aplicacao esta em execucao. 

**Exemplo:**

Se voce leu o [artigo/video](https://www.youtube.com/watch?v=Yo5w6E8QxeU) sobre _Nodes_ voce provavelmente sabe como conectar duas aplicacoes em Elixir de maneira simples porem, como voce controla esse ambiente em producao? como voce vai detectar esses nodes em um cluster de kubernetes?, como criar essa comunicacao entre ips diferentes de maneira simples? criar codigos para isso?

Na verdade a melhor maneira de criar essa conexao e atraves do libcluster (o artigo sobre nodes te ensina o que esta por debaixo dos panos) 

# Como foi que você descobriu isso?

Foi uma das primeiras bibliotecas que aprendi ha mais de 4 anos de jornada como desenvolvedor Elixir, se falava de beneficios do Elixir mas sempre agente comentava que a vantagem de sistemas distribuidos era pouco ou nao utilizada. Mas em um projeto utilizando **liveview** o **libcluster** passa a ser mais que obrigatorio e foi o caso de um projeto que eu comecei a atuar. 


# Quais as vantagens de usar **LibCluster**?

A principal vantagem e criar conexao entre aplicacoes de maneira rapida e simples, sem ter que precisar criar conexao de nodes, genservers e otp. O libcluster vai abstrair todas essas regras para uma simples configuracao.


# Qual o melhor momento para Implementar o **LibCluster**?

No comeco da minha carreira eu percebi coisas essenciais como implementacao em aplicacoes Elixir, e acredito que hoje o libcluster e uma delas. **principalmente se voce utilizar liveview**

Voce pode comecar a implementacao do libcluster em Dev utilizando a estrategia de [_Gossip_](https://hexdocs.pm/libcluster/Cluster.Strategy.Gossip.html) por ser uma das mais simples e facil de entender o libcluster, e quando for para producao vai depender se voce vai utilizar Kubernetes, ECS, ou qualquer outro ambiente.  Geralmente eu trabalho com clusters em kubernetes e implemento DNS. 

# FIM. 

Eu espero que o artigo tenha te ajudado a entender a necessidade e a urgencia de comecar a utilizar o libcluster em suas aplicacoes. :D 

Redes Sociais: 

- Gustavo Oliveira - https://www.linkedin.com/in/gustavo-oliveira-642b23aa/
- Elxpro Linkedin - https://www.linkedin.com/company/36977430)
- Twiter - https://twitter.com/elx_pro
- ElxproBr - https://www.youtube.com/channel/UCl_BBK2sXZzQy_3ziNU7-XA)
- Elxpro - https://www.youtube.com/channel/UCLzHBFuE6oxPdP6t9iqpGpQ)