Mam klaster 3 węzłów ElasticSearch działających na AWS EC2. Te węzły są konfigurowane za pomocą OpsWorks/Chef. Moim zamiarem jest zaprojektowanie tego zestawu jako bardzo elastycznego i elastycznego (węzły mogą wchodzić i wychodzić, gdy jest to potrzebne).Czy korzystanie z modułu równoważenia obciążenia w ElasticSearch jest niepotrzebne?
Wszystko, co czytałem na temat ElasticSearch, wydaje się, że nikt nie zaleca stosowania systemu równoważenia obciążenia przed klastrem; Zamiast tego wydaje się, że zalecenie to zrobić jedną z dwóch rzeczy:
swojego klienta pod adresem URL/IP z jednego węzła, niech ES zrobić równoważenia obciążenia dla Ciebie i mamy nadzieję, że węzeł nie idzie w dół.
Twarde kodowanie adresów URL/adresów WSZYSTKICH twoich węzłów w aplikacji klienckiej i umożliwienie aplikacji obsługi logiki przełączania awaryjnego.
Moje tła jest głównie w gospodarstwach internetowych, gdzie jest to tylko zdrowy rozsądek, aby stworzyć ogromny basen autonomicznych serwerów WWW, rzucić ELB przed nimi i niech równoważenia obciążenia zdecydować, jakie węzły są żywe lub martwe. Dlaczego ES nie obsługuje tej samej architektury?
Dzięki za tę odpowiedź. Przypuszczam, że bardziej niepokoję się równoważeniem przełączania awaryjnego. Rozumiem, że ES dokona równoważenia obciążenia dla mnie, ale co jeśli węzeł, do którego się podłączam, przestanie działać lub zostanie wyłączony? W przypadku ELB (przynajmniej jeśli chodzi o serwery sieciowe), balansowałby on żądania we wszystkich węzłach roboczych. Czy istnieje podobny wzór dla klastrów ES? – user2719100
Dodałem, jak działa replikacja w ES – xeraa
@xeraa Więc klient "węzeł" automatycznie rozwiązuje dostępne węzły/klastry z elastycznymi węzłami/klastry, wykonując emisję czy coś takiego? –