Salut tout le monde,
Pour le fun, je suis en train de jeter un oeil à l’algorithme de consensus Raft, qui permet à des serveurs de faire tourner une application et atteindre un consensus. Je comprends plutôt bien comment l’algorithme fonctionne mais ce que je ne suis pas sûr de comprendre, c’est comment les serveurs savent quels autres serveurs faisant tourner la même application existent. Pour pouvoir faire des appels HTTP à d’autres serveurs, il faut connaître leur addresse et c’est là que ça devient pas clair pour moi : comment connaître les addresses des autres participants?
Je pense que si les serveurs existants sont plutôt stables, on peut hardcoder ça quelque part, dans un fichier de propriétés par exemple. Si c’est plus dynamique, on pourrait imaginer utliser une base de données ou une cache. Et si on veut vraiment être cool, on pourrait utiliser un système de Service Discovery, style Consul.
Est-ce que ce que je dis ci-dessus est correct ? Ou existe-t-il d’autres façons, peut-être meilleures, pour répondre à ma question.