J’ai mis à jour mon billet d’origine en tenant compte des commentaires d’@Elois et de ma meilleure compréhension de l’API RPC.
Dans un tel cluster, la notion de node est en fait :
- Un full node duniter v2s (archive des blocs) avec endpoint RPC.
- Un indexeur avec un serveur PostgreSQL
- Outils de monitoring (ex: prometheus).
Avec docker-compose et Ansible, on devrait pouvoir mettre en place une telle plateforme.
Ça me fait penser que ce serait assez magique d’avoir un rôle Ansible fonctionnel pour les pods Cesium+, puisque ça permettrait de répondre au manque cruel d’instance actives
@Hugo et @immae, je rebondis sur ce besoin d’avoir plus d’indexeurs Cesium+
Ce principe de cluster, pensé pour la migration vers Duniter V2S, peut déjà être expérimenté avec Duniter V1/Pod Cesium+.
Cela peut commencer par un docker-compose permettant d’installer un “full node V1”, blockchain + indexeur :
- Duniter V1 avec historique des tx et endpoint BMA
- Pod Cesium+
- Outil de monitoring avertissant si dé-synchro.
Puis une fois le “full node” maîtrisé, la mise en place d’un cluster de trois machines avec failsafe/load balancing, pour une reprise sur panne/répartition de charge.
Pour moi, le cluster est l’étape ultime et idéal pour servir des applications utilisateurs. Mais si déjà on arrive à faire des nodes complets blockchain/indexeur qui fonctionne bien, on avancera vers plus de stabilité.