Comprendo già che si suppone che Elastic Search sia distribuito in una topologia distribuita, in quanto è possibile avere più nodi per un cluster di istanze ES.
Mi piace l'API e sembra promettente. Ma mi chiedo come la Ricerca elastica risolva alcuni problemi standard nel calcolo distribuito. Le mie domande "architettoniche" sono motivate dal tentativo di capire se dovrei impegnarmi a utilizzare il prodotto.
Considera un problema di appartenenza: se aggiungo un nodo al cluster, in che modo il cluster di Elastic Search sa che quel nodo vuole unirsi? O cosa succede se un nodo scende (o la rete verso il centro dati in cui si trova) diventa troppo instabile. Sta usando una specie di protocollo di gossip come fa Amazon Dynamo?
Considera il problema del consenso: se POSSO un documento su un nodo nel cluster, come viene propagata la modifica agli altri nodi? Naturalmente, capisco che il documento deve essere indicizzato, quindi non posso aspettarmi che una query di ricerca lo trovi immediatamente. ES utilizza un algoritmo Paxos
? Raft
algoritmo?