Apache Kafka: Uuden sukupolven hajautettu viestijärjestelmä

Apache Kafka tarjoaa korkean suorituskyvyn ja skaalautuvat viestintäjärjestelmät, joten se on suosittu reaaliaikaisessa analytiikassa. Opi kuinka Apache kafka -opetusohjelma voi auttaa sinua

Nykymaailmassa, tiedot ovat tärkein ainesosa Internet-sovellusten joukosta ja sisältää tyypillisesti seuraavat:





  • Sivukäynnit ja napsautukset
  • Käyttäjän toimet
  • Kirjautumisia vastaavat tapahtumat
  • Sosiaalisen verkostoitumisen aktiviteetit, kuten tykkäykset, jakamiset ja kommentit
  • Sovelluskohtaiset mittarit (esim. Lokit, sivun latausaika, suorituskyky jne.)

Tämä tietoja voidaan käyttää analytiikan suorittamiseen reaaliajassa palvelevat eri tarkoituksia, joista osa on:

  • Mainosten toimittaminen
  • Poikkeavien käyttäjien käyttäytymisen seuraaminen
  • Haun näyttäminen osuvuuden perusteella
  • Näytetään suositukset aiempien toimintojen perusteella

Ongelma: Kaikkien tietojen kerääminen ei ole helppoa, koska tietoja tuotetaan eri lähteistä eri muodoissa



Ratkaisu: Yksi tapa ratkaista tämä ongelma on käyttää viestijärjestelmää. Viestintäjärjestelmät tarjoavat saumattoman integraation hajautettujen sovellusten välillä viestien avulla.

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

Apache Kafka:



Apache Kafka on hajautettu julkaisutilausviestintäjärjestelmä, joka kehitettiin alun perin LinkedInissä ja josta tuli myöhemmin osa Apache-projektia. Kafka on nopea, ketterä, skaalautuva ja jaettu suunnittelun mukaan.

Kafka-arkkitehtuuri ja terminologia:

Aihe: Tiettyyn luokkaan kuuluvaa viestivirtaa kutsutaan aiheeksi

Tuottaja: Tuottaja voi olla mikä tahansa sovellus, joka voi julkaista viestejä aiheeseen

Kuluttaja: Kuluttaja voi olla mikä tahansa sovellus, joka tilaa aiheet ja kuluttaa viestejä

Välittäjä: Kafka-klusteri on joukko palvelimia, joista kutakin kutsutaan välittäjäksi

Kafka on skaalautuva ja mahdollistaa monenlaisten klustereiden luomisen.

  • Yhden solmun yhden välittäjän klusteri
  • Yhden solmun monenvälittäjäklusteri
  • Useita solmuja Useita välittäjäklustereita

Yhden solmun yhden välittäjä

Mikä on ZooKeeperin rooli?

Jokainen Kafka-välittäjä koordinoi muiden Kafka-välittäjien kanssa ZooKeeper-sovellusta. ZooKeeper-palvelu ilmoittaa tuottajille ja kuluttajille uusien välittäjien läsnäolosta tai välittäjän epäonnistumisesta Kafka-järjestelmässä.

Yhden solmun useita välittäjiä

Useita solmuja Useita välittäjiä

Kafka @ LinkedIn

LinkedIn Newsfeedin tarjoaa Kafka

LinkedIn-suositukset tarjoaa Kafka

LinkedIn-ilmoitukset tarjoaa Kafka

Huomautus: Tämän lisäksi LinkedIn käyttää Kafkaa moniin muihin tehtäviin, kuten lokin seurantaan, suorituskykymittareihin, hakujen parantamiseen.

Kuka muu käyttää Kafkaa?

DataSift: DataSift käyttää Kafkaa seurantatapahtumien kerääjänä ja seuraamaan käyttäjien datavirtojen kulutusta reaaliajassa

Wooga: Wooga käyttää Kafkaa kokoamaan ja käsittelemään seurantatietoja kaikista Facebook-peleistään (isännöi eri palveluntarjoajilta) keskeisessä paikassa

Spongecell: Spongecell käyttää Kafkaa koko analyysinsä ja seurantaputkistonsa ajamisessa sekä reaaliajassa että ETL-sovelluksissa

Loggly: Loggly on maailman suosituin pilvipohjainen lokien hallinta. Se käyttää Kafkaa tukkien keruuseen.

Vertaileva tutkimus: Kafka vs. ActiveMQ vs. RabbitMQ

Kafkalla on tehokkaampi tallennusmuoto. Jokaisessa viestissä on keskimäärin 9 tavua Kafkassa verrattuna 144 tavuun ActiveMQ: ssa.

Sekä ActiveMQ: ssa että RabbitMQ: ssa välittäjät ylläpitävät jokaisen viestin toimitustilan kirjoittamalla levylle, mutta Kafkan tapauksessa levyä ei ole kirjoitettu, joten se on nopeampi.

sql-palvelimen perusteet aloittelijoille

Kun Kafka otetaan laajasti käyttöön tuotannossa, se näyttää olevan lupaava ratkaisu reaalimaailman ongelmien ratkaisemiseen. Apache Kafka -koulutus voi auttaa sinua pääsemään vertaistasi eteenpäin reaaliaikaisessa analyytikkourassa. Aloita Apache Kafka -opetusohjelmalla tässä .

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.

Aiheeseen liittyvät julkaisut:

Mitä tarvitset uraan reaaliaikaisessa analyysissä