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:
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