Mam klaster serwerów sieci Web, z których każdy ma tę samą aplikację internetową java. Wszystkie te wystąpienia aplikacji sieciowej korzystają z tej samej bazy danych (do przechowywania danych) i tego samego sieciowego przechowywania plików (gdzie przechowują niektóre wymagane pliki).Synchronizacja aplikacji internetowych w klastrze
Potrzebuję mieć możliwość synchronizowania wystąpień aplikacji internetowych. Na przykład jedna z instancji aplikacji otrzymuje określone żądanie od klienta, wykonuje kilka ponownych obliczeń i aktualizuje wewnętrzną pamięć podręczną. W tym momencie muszę zaktualizować wewnętrzne pamięci podręczne dla wszystkich innych aplikacji internetowych w klastrze, aby każdy z nich działał na tym samym zbiorze danych.
Jaki byłby najlepszy sposób uzyskania takiej funkcjonalności? Na pewno mogę zaimplementować jakiś niestandardowy komponent, który będzie okresowo odpytywał udostępniony zasób (flaga w tabeli bazy danych lub plik w magazynie plików) i zainicjował wymagane przetwarzanie po spełnieniu warunku. Ale może istnieje już biblioteka/komponent/aplikacja, z których mogę korzystać?
Czy byłbyś bardziej konkretny? –
Bardziej szczegółowe: Muszę być w stanie wysyłać zdarzenia między moich węzłów aplikacji. Jak już powiedziałem, mam bazę danych i magazyn plików współdzielony między węzłami, więc wolałbym użyć jednego z nich jako magistrali zdarzeń. –
Hej andrew.z - byłoby dobrze, gdybyś mógł dodać ograniczenia do swojego pytania. Jeśli wiesz o spójności pamięci podręcznej, ale ją odrzuciłeś, powiedz nam dlaczego; jeśli nie chcesz używać UDP, powiedz nam. To oszczędza ludzi, którzy odpowiadają na twoje pytanie z pomysłami, które nie spełniają twoich wymagań. –