W szczególności, jakie rozwiązania wykorzystują Hazelcast Jet, że Flink nie rozwiązuje problemu (równie dobrze) i na odwrót?Jakie są różnice między Hazelcast Jet a Apache Flink?
Odpowiedz
UWAGA: Należę do głównej grupy inżynierów Hazelcast Jet.
Powiedziałbym główną zaletą Hazelcast Jet nie jest w oferowaniu model nowiuteńki obliczeniową, ale w doprowadzeniu ten sam poziom wygody, że Hazelcast znany jest do sfery DAG opartej przetwarzanie rozproszone.
Jeśli obecnie aplikacja Java działa w klastrze, dodanie narzędzia Jet będzie bardzo proste: dodaj zależność Maven i napisz wiersz kodu, aby uruchomić instancję Jet na lokalnym elemencie. Instancje same się odkryją, tworząc własny klaster, i możesz teraz przesłać do niego swoje zadanie.
Jeśli potrzebujesz dedykowanego klastra obliczeniowego, zrobisz trywialny projekt z Jetem jako pojedynczą zależnością i uruchomisz go w klastrze, a następnie połączysz się z nim z zewnątrz, ponownie za pomocą pojedynczego wiersza kodu.
Nie trzeba dodawać, że Jet jest bardzo wygodny w użyciu jako Hazelcast IMap
lub IList
jako źródło danych. Klaster Jet może bezpośrednio obsługiwać struktury Hazelcast; następnie korzystasz z lokalizacji danych i otrzymujesz dane bez ruchu sieciowego. Z drugiej strony, wybór źródła danych jest całkowicie nieograniczony, a publiczny interfejs API jest dedykowany do implementacji szybkich, arbitralnie podzielonych na partycje, niestandardowych źródeł danych.
W wersji 0.3 Jet daje elastyczny i potężny model DAG, w której można precyzyjnie sterować aspekty wydajności krytycznych z obliczeń oraz warstwę wygodę na wysokim poziomie w postaci znanego java.util.stream
API dostosowaną do specyfiki przetwarzania rozproszonego (serializacja lambda i inne zagadnienia).
Na mapie drogowej do etapu 1.0 jest wsparcie pierwszej klasy dla problemów przetwarzania nieskończonych strumieni, takich jak okno czasowe, spójne migawki i odporność na zmiany w topologii klastra.
Moim zdaniem, flink wydaje się oferować bardzo przydatne funkcje strumieniowania, które nie są jeszcze oferowane przez jet hat.
- Różne elastyczne operatory okienne, które mogą również obsługiwać elementy spoza zamówienia i późniejsze.
- tolerancja błędu w klastrze i dostawy gwarantuje
Poza tym wydaje się też być bardziej stabilny i dobrze znany w tej chwili. Można na przykład użyć go jako środowiska wykonawczego dla Apache Beam, a następnie przeprowadzić łatwą migrację między przepływem danych Google w chmurze i własnym wdrożeniem. Tak więc obecnie używam migotania.
Najlepszy
Więc można powiedzieć, że główną motywacją do zwalniania Jet jest oferowanie narzędzie, które jest łatwiejsze w użyciu niż Flink, a jej planowany featureset zachodzi na obecnym rynku? Czy możesz powiedzieć, że Jet jest "lekkim" rozwiązaniem dla aplikacji, które nie potrzebują tych samych funkcji, co istniejące rozwiązania? – Atle
Celem Jet jest zapewnienie prostego i solidnego fundamentu, który zachęca do tworzenia bardziej złożonych funkcji na poziomie użytkownika.Funkcja widoczna dla użytkownika, taka jak "wykrywanie oszustów", nie jest cechą definiującą silnika obliczeniowego; Jet może z łatwością obsługiwać to i wiele innych przypadków użycia, jeśli zapewnia niezbędne urządzenia. Hazelcast wciąż znajduje się w fazie rozważania, które konkretne domeny problemowe będzie zapewniał. Naszą nadzieją, jako projektem open-source, jest przyciągnięcie społeczności, która zbuduje wsparcie dla wielu niszowych dziedzin, niż możemy sami. –