Co poleciłbyś dla wielkoskalowej technologii Java data grid: Terakota, GigaSpaces, koherencja itp.? [zamknięte]

Czytałem o tak zwanych rozwiązaniach "data grid" dla platformy Java, w tym Terracotta, GigaSpaces i Coherence. Zastanawiałem się, czy ktoś ma Prawdziwe doświadczenie w pracy z którymkolwiek z tych narzędzi i mógłby podzielić się swoim doświadczeniem. Jestem również bardzo ciekaw, z jaką skalą wdrożeń współpracowali ludzie: czy mówimy o klastrach 2-4 węzłów, czy pracowałeś z czymś znacznie większym niż to?

Podobają mi się terakoty ze względu na " wpadnięcie" wsparcie dla Hibernate i Spring, z których obu mocno korzystamy. Podoba mi się również pomysł, jak dekoruje kod bajtowy w oparciu o konfigurację i nie wymaga programowania na "grid API."Nie jestem świadomy żadnych zalet narzędzi, które wykorzystują podejście jawnego API, ale chciałbym o nich usłyszeć, jeśli rzeczywiście istnieją. :)

Spędziłem również czas czytając o memcached, ale bardziej interesuje mnie opinia na temat tych trzech konkretnych rozwiązań. Z ciekawości dowiedz się, jak mierzą się z memcached w przypadku, gdy ktoś użył obu.

Author: cliff.meyers, 2009-02-12

4 answers

Mieliśmy 50 serwerów z aplikacją webservice i wszystkie te serwery były zrównoważone obciążeniem za pomocą bigIP. Wymaganiem było buforowanie każdego stanu użytkownika, aby kolejne stany nie wykonywały ponownie tego samego przetwarzania i pobierały dane z poprzedniego stanu. W ten sposób klient webservice nie musi utrzymywać stanu.

Użyliśmy terakoty do buforowania stanów i nigdy nie napotkaliśmy żadnego problemu z wydajnością. W godzinach szczytu liczba aplikacji żądań jest uzyskiwana 100 na sekundę.

 7
Author: Bhushan Bhangale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-12 06:35:32

Możesz też sprawdzić Hazelcast . Hazelcast to transakcyjna, rozproszona / partycjonowana implementacja usługi queue, topic, map, set, list, lock i executor. Jest bardzo łatwy w obsłudze; wystarczy dodać hazelcast.jar do swojej ścieżki klasowej i rozpocząć kodowanie. Prawie nie jest wymagana konfiguracja.

Hazelcast jest wydany na licencji Apache i dostępna jest również obsługa klasy korporacyjnej. Kod jest hostowany w Google Code .

 8
Author: Talip Ozturk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-13 12:54:33

Wybrana biblioteka naprawdę zależy od twojej aplikacji i tego, co próbujesz osiągnąć.

Pracowałem w sklepie, który wykorzystywał spójność, aby zapewnić skalowalność (i redundancję) dla swoich aplikacji internetowych. Okazało się, że trzeba mieć około 4-5 węzłów, aby zacząć czerpać korzyści z Spójności (2 lub 3 węzły potencjalnie zmniejszają wydajność). Wierzę, że dokumenty Oracle mówią, że potrzebujesz wielu (30+) węzłów, aby naprawdę uzyskać korzyści z Spójności. Jeśli pójdziesz ze spójnością, zrób na pewno masz prawidłowo skonfigurowany sprzęt - jest bardzo wrażliwy na opóźnienia.

Ja osobiście trzymałbym się z dala od" wpadki". Mogą dać ci coś na początek, ale w końcu napotkasz problemy z synchronizacją lub wydajnością i tak będziesz musiał zacząć pisać kod specyficzny dla Twojej warstwy siatki. Zasadniczo znasz swoją aplikację lepiej niż biblioteka i będziesz w stanie dowiedzieć się, które elementy muszą znajdować się w pamięci podręcznej, jak długo muszą żyć, jak będzie Twoja aplikacja używane itp.

 3
Author: Seth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-12 08:14:51

Nie mam wystarczającego doświadczenia z tymi technologiami, ale myślę, że Apache Hadoop okazał się być skalowalny i niezawodny. Yahoo uruchomiło go na 10,000 rdzeniowego klastra Linuksa.

Jest oparty na algorytmie GoogleMapReduce .

Ten artykuł opisuje MapReduce i dlaczego powinieneś się tym przejmować.

 2
Author: Bahaa Zaid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-12 04:50:16