La idea de este es hace un key-value store in-memory como excusa de aprender algo de Elixir.
- Soporta los siguientes métodos:
write(key, value),read(key),delete(key),clear,exist?(key),get_statsyconnect(node). - Supervisión por nodo.
- Replica cada escritura a todos los nodos conectados.
- Replica la información a un nuevo nodo.
- Al recuperarse un nodo, recupera la información del resto.
Hay 4 procesos:
- Cache.Server: este es el que controla el estado de los datos y realiza el CRUD con los mismos.
- Cache.Replicator: se encarga de enviar y recibir los datos a los demás nodos.
- Cache.Logger: se usa para mostrar información en la consola.
- Cache.Supervisor: se encarga de mantener vivos a los demás procesos.
Podemos usar iex de la siguiente manera:
> iex --sname nodo1 -S mixEsto es simplemente un experimento práctico. Cualquier comentario es bienvenido.