Wpis z mikrobloga

Mam kilka mikroserwisów które zrzucają eventy do kafki. Chciałbym z tych eventów wyciagnąc pare statystyk i raportów i zastanawiam się jak to zrobić zgodnie ze sztuką. Mam dwa pomysły:

- kolejny mikroserwis, ktory zczytuje te eventy, na bierząco zlicza statystyki i robi inserty i update do nowej bazy relacyjnej np postgres
- zacząłem troche czytac w tym temacie to natknąłem się na takie rzeczy jak ETL, #businessintelligence a potem Apache Airflow. Co moze mi dać zastosowanie airflow w tym przypadku zamiast wlasnego mikroserwisu? Jestem totalnie zielony w tym temacie

Dodatkowo zastanawiam się jak z postgresa wygenerować jakieś raporty sensownie. Moze są do tego gotowe toole a może airflow też to ogarnia? Który z podejść wybrać? Czy może jest jeszcze jakas inna lepsza alternatywa?

#programowanie #programista15k #bigdata #etl #airflow #businessintelligence
  • 9
Airflow to jest tylko scheduler do uruchamiania jobow. Tak koszerne to było by zrzucać eventy na hdfs, później możesz sobie pisać querki którymi będziesz obliczał dane do raportów. Jak potrzebujesz te querki puszczać regularnie to możesz sobie napisać joba na airlfow, ale w najprostszym wydaniu pewnie cron wystarczy. Jak danych jest mało albo nie trzymacie danych na hdfs w firmę to pewnie można napisać serwis którzy zrzuca te dane do jakiejś bazki.
@PoteznyMagWody: A co jakby logować dane które potrzebujesz z serwisu do ElasticSearch a potem robić ładne raporty w Kibanie?

Nie będziesz musiał robić nowego serwisu i za friko dostaniesz narzędzie do analizowania tych danych :-)
@PoteznyMagWody:

Jeśli szukasz konkretnego rozwiązania to nie dostaniesz takiego, wszystko zależy od specyfiki twojego projektu, której nikt nie zna.

Natomiast jest ogólne rozwiązanie twojego problemu mianowicie użycie takich narzędzi jak Kafka Connect do zrzucania danych na dysk (HDFS), Apache Spark Streaming lub Apache Samza jeśli chcesz przetwarzać dane strumieniowo. To zeby wymienić pierwsze z brzegu bo jest ich dużo wiecej. Każde ma swoje plusy i minusy. Następnie tak przetworzone dane wizualizujesz
@automaat: ale po co zrzucać te dane do hdfs? Eventy same w sobie są zapisywane w bazie ale tez właśnie żeby nie orać bazy aplikacji wrzucam wszystkie eventy jako raw json na kafke która jest jakby datalake. I z tego strumienia na kafce raw eventow chciałbym tworzyć statystyki i tylko te statystyki zapisywać na przyszłość a nie całe eventy
@markaron: