Apache Storm to system przetwarzania danych w czasie rzeczywistym

burza_logo

Apache Storm to projekt, który pozwala na uporządkowanie przetwarzania gwarantowane różnych wydarzeń w czasie rzeczywistym. Na przykład Storm może służyć do analizy strumieni danych w czasie rzeczywistym, wykonać zadania uczenia maszynowego, organizuj ciągłe obliczenia, wdrażaj RPC, ETL itp.

System obsługuje klastrowanie, ldo tworzenia konfiguracji odpornych na uszkodzenia, gwarantowanego trybu przetwarzania danych i wystarczająco dużej przepustowości, aby przetwarzać ponad milion żądań na sekundę w węźle klastra.

Integracja Apache Storm z różnymi systemami przetwarzania kolejek i technologiami baz danych.

Architektura Storm obejmuje odbieranie i przetwarzanie nieustrukturyzowanych strumieni danych i stale aktualizowane za pomocą dowolnych, złożonych kontrolerów z możliwością podziału na różne etapy obliczeń.

O Apache Storm

Projekt został przekazany społeczności Apache po przejęciu Twittera przez firmę BackType, która pierwotnie opracowała framework.

W praktyce Storm był używany w BackType do analizowania odbić zdarzeń w mikroblogach, porównując nowe tweety w locie z linkami, które zostały w nich wykorzystane (na przykład zostały ocenione jako linki zewnętrzne lub reklamy na Twitterze były emitowane przez innych uczestników).

Funkcjonalność Storm jest porównywalna z platformą Hadoop, a kluczowa różnica polega na tym, że dane nie są umieszczane w repozytorium, ale są odbierane z zewnątrz i przetwarzane w czasie rzeczywistym.

W Storm nie ma wbudowanej warstwy magazynowania, a zapytanie analityczne zaczyna obowiązywać w odniesieniu do przychodzących danych, dopóki nie zostanie anulowane (jeśli Hadoop używa zadania MapReduce, które zajmuje określony czas, wówczas Storm wykorzystuje koncepcję uruchomienia " topologie ”.

Wykonywanie programów obsługi może być dystrybuowane do kilku serwerów: Storm automatycznie równolegle pracuje z wątkami w różnych węzłach klastra.

Główne przypadki użycia, które można przekazać Apache Storm

Przetwarzanie nowych strumieni danych lub aktualizacji baz danych w czasie rzeczywistym
Ciągłe obliczenia: Storm może wysyłać ciągłe żądania i przetwarzać ciągłe przepływy, przekazywanie wyników przetwarzania do klienta w czasie rzeczywistym.

Rozproszone zdalne wywołanie procedury (RPC): Burza może służyć do zapewnienia współbieżności w wykonywaniu zapytań wymagających dużej ilości zasobów.

Zadanie („topologia”) w programie Storm to funkcja rozproszona między węzłami, która oczekuje na przetworzenie przychodzących wiadomości.

Po otrzymaniu wiadomości funkcja przetwarza ją w kontekście lokalnym i zwraca wynik. Przykładem wykorzystania rozproszonego RPC może być równoległe przetwarzanie zapytań wyszukiwania lub wykonywanie operacji na dużym zestawie zbiorów.

Główne nowe funkcje Apache Storm 2.0

Fundacja Apache zapoczątkował inicjatywy mające na celu przeniesienie Storm na nowe jądro napisane w Javie, którego wyniki są proponowane w wersji Apache Storm 2.0.

Wszystkie podstawowe komponenty platformy zostały przepisane w Javie. Obsługa pisania programów obsługi w Clojure została zachowana, ale jest teraz oferowana w postaci linków. Do działania Storm 8 wymagana jest Java 2.0.0.

Model przetwarzania wielowątkowego został całkowicie przeprojektowany, co spowodowało znaczny wzrost wydajności (w przypadku niektórych topologii opóźnienia zostały zmniejszone o 50-80%).

W nowej wersji zaproponowano nowy typizowany interfejs API strumieni, co pozwala na konfigurację programów obsługi przy użyciu operacji w funkcjonalnym stylu programowania.

Nowe API jest implementowane w oparciu o zwykłe API i wspiera automatyczne łączenie operacji w celu optymalizacji ich przetwarzania. Interfejs API okienkowy dla operacji okien dodaje obsługę zapisywania i przywracania stanu w zapleczu.

Z drugiej strony, kontroler uruchamia dodatkowe zasoby uwzględniane przy podejmowaniu decyzji, które nie są ograniczone do procesora i pamięci, takie jak parametry sieci i GPU, zostały dodane do harmonogramu uruchamiania.

Szereg usprawnień związanych z zapewnieniem integracji z platformą Kafka.
Rozbudowano system kontroli dostępu, w którym pojawiła się możliwość tworzenia grup administratorów i delegowania tokenów.

Dodano ulepszenia związane z obsługą SQL i metryk. Interfejs administratora zawiera nowe polecenia do debugowania stanu klastra.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.