Apache Kafka: rozproszony system przesyłania wiadomości nowej generacji



Apache Kafka zapewnia wysoką przepustowość i skalowalne systemy przesyłania wiadomości, dzięki czemu jest popularny w analityce w czasie rzeczywistym. Dowiedz się, jak może Ci pomóc samouczek Apache kafka

W dzisiejszym świecie, dane są głównym składnikiem aplikacji internetowych i zazwyczaj obejmuje:





  • Wizyty na stronie i kliknięcia
  • Działania użytkownika
  • Zdarzenia odpowiadające logowaniom
  • Działania w sieciach społecznościowych, takie jak polubienia, udostępnienia i komentarze
  • Dane specyficzne dla aplikacji (np. Dzienniki, czas wczytywania strony, wydajność itp.)

To dane mogą służyć do przeprowadzania analiz w czasie rzeczywistym służący różnym celom, z których niektóre to:

  • Dostarczanie reklam
  • Śledzenie nietypowych zachowań użytkowników
  • Wyświetlanie wyszukiwania na podstawie trafności
  • Pokazywanie rekomendacji na podstawie poprzednich działań

Problem: Zebranie wszystkich danych nie jest łatwe, ponieważ dane są generowane z różnych źródeł w różnych formatach



Rozwiązanie: Jednym ze sposobów rozwiązania tego problemu jest użycie systemu przesyłania wiadomości. Systemy przesyłania wiadomości zapewniają bezproblemową integrację między aplikacjami rozproszonymi za pomocą wiadomości.

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka:



Apache Kafka to rozproszony system przesyłania wiadomości, publikuj i subskrybuj, który został pierwotnie opracowany na LinkedIn, a później stał się częścią projektu Apache. Kafka jest szybka, zwinna, skalowalna i dystrybuowana zgodnie z projektem.

Architektura i terminologia Kafki:

Temat: Strumień wiadomości należących do określonej kategorii nazywany jest tematem

Producent : Producentem może być dowolna aplikacja, która może publikować wiadomości w temacie

Konsument: Konsumentem może być dowolna aplikacja, która subskrybuje tematy i konsumuje wiadomości

Broker: Klaster Kafka to zestaw serwerów, z których każdy nazywany jest brokerem

Kafka jest skalowalna i umożliwia tworzenie wielu typów klastrów.

  • Klaster z jednym węzłem i jednym brokerem
  • Klaster brokerów z jednym węzłem
  • Wiele węzłów Klaster wielu brokerów

Jeden węzeł Pojedynczy broker

Jaka jest rola ZooKeepera?

Każdy broker Kafka współpracuje z innymi brokerami Kafka za pomocą ZooKeeper. Producenci i Konsumenci są powiadamiani przez serwis ZooKeeper o obecności nowych brokerów lub awarii brokera w systemie Kafka.

zarządzanie zakupami w zarządzaniu projektami

Jeden węzeł wielu brokerów

Wiele węzłów Wielu brokerów

Kafka @ LinkedIn

LinkedIn Newsfeed jest obsługiwany przez platformę Kafka

Rekomendacje LinkedIn są obsługiwane przez Kafkę

Powiadomienia LinkedIn są obsługiwane przez Kafkę

Uwaga: Oprócz tego LinkedIn używa Kafki do wielu innych zadań, takich jak monitorowanie dziennika, wskaźniki wydajności, ulepszanie wyszukiwania, między innymi.

Kto jeszcze korzysta z Kafki?

DataSift: DataSift wykorzystuje platformę Kafka do gromadzenia monitorowanych zdarzeń i śledzenia w czasie rzeczywistym wykorzystania strumieni danych przez użytkowników

Wooga: Wooga używa Kafki do gromadzenia i przetwarzania danych śledzenia ze wszystkich swoich gier na Facebooku (hostowanych u różnych dostawców) w centralnej lokalizacji

Spongecell: Spongecell używa platformy Kafka do prowadzenia całego potoku analitycznego i monitorowania, obsługującego zarówno aplikacje czasu rzeczywistego, jak i ETL

Loggly: Loggly to najpopularniejsze na świecie zarządzanie dziennikami w chmurze. Używa Kafki do zbierania dzienników.

Badanie porównawcze: Kafka vs. ActiveMQ vs. RabbitMQ

Kafka ma bardziej wydajny format przechowywania. Średnio każda wiadomość ma narzut 9 bajtów w Kafka w porównaniu do 144 bajtów w ActiveMQ

Zarówno w ActiveMQ, jak i RabbitMQ brokerzy utrzymują stan dostarczenia każdej wiadomości, zapisując na dysk, ale w przypadku Kafki nie ma zapisu na dysku, dzięki czemu jest on szybszy.

Dzięki szerokiemu przyjęciu Kafki do produkcji, wydaje się być obiecującym rozwiązaniem do rozwiązywania rzeczywistych problemów. Szkolenie Apache Kafka może pomóc Ci wyprzedzić rówieśników w karierze analityki w czasie rzeczywistym. Zacznij od samouczka Apache Kafka tutaj .

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.

Powiązane posty:

Czego potrzebujesz do kariery w analityce w czasie rzeczywistym