{"id":8457,"date":"2021-11-29T11:47:05","date_gmt":"2021-11-29T11:47:05","guid":{"rendered":"https:\/\/berg-software.com\/einblicke\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/"},"modified":"2021-11-29T11:47:10","modified_gmt":"2021-11-29T11:47:10","slug":"apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen","status":"publish","type":"post","link":"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/","title":{"rendered":"Apache Kafka in der Praxis: synchronisierte Kommunikation zwischen Plattformen"},"content":{"rendered":"\n[et_pb_section fb_built=&#8220;1&#8243; fullwidth=&#8220;on&#8220; _builder_version=&#8220;4.4.1&#8243;][et_pb_fullwidth_post_title meta=&#8220;off&#8220; featured_placement=&#8220;background&#8220; _builder_version=&#8220;4.6.6&#8243; title_font=&#8220;||||||||&#8220; title_text_color=&#8220;#ff6317&#8243; title_font_size=&#8220;3.5em&#8220; meta_font=&#8220;|300|||||||&#8220; meta_text_color=&#8220;#ffffff&#8220; meta_font_size=&#8220;1em&#8220; background_enable_color=&#8220;off&#8220; use_background_color_gradient=&#8220;on&#8220; background_color_gradient_start=&#8220;rgba(248,248,248,0.85)&#8220; background_color_gradient_end=&#8220;rgba(248,248,248,0.75)&#8220; background_color_gradient_overlays_image=&#8220;on&#8220; min_height=&#8220;20vh&#8220; height=&#8220;400px&#8220; custom_padding=&#8220;6vh||6vh||false|false&#8220; global_module=&#8220;403&#8243; locked=&#8220;off&#8220;][\/et_pb_fullwidth_post_title][\/et_pb_section][et_pb_section fb_built=&#8220;1&#8243; admin_label=&#8220;intro&#8220; _builder_version=&#8220;4.4.6&#8243; custom_padding=&#8220;|||0px||&#8220; locked=&#8220;off&#8220;][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h2>Einf\u00fchrung<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Wenn Sie in einem hybriden Online-\/Offline-Gesch\u00e4ft t\u00e4tig sind, das m\u00f6glicherweise \u00fcber mehrere Plattformen verteilt ist, dann ist eine Ihrer gr\u00f6\u00dften Herausforderungen wahrscheinlich die Komplexit\u00e4t Ihres Software-\u00d6kosystems. Die Verwaltung mehrerer Software-L\u00f6sungen, die von verschiedenen Anbietern stammen und unabh\u00e4ngige Lebenszyklen haben, kann sich erheblich darauf auswirken, wie (und ob) Ihr Unternehmen funktioniert.<\/p>\n<p>In diesem Fall ben\u00f6tigen Sie m\u00f6glicherweise L\u00f6sungen zur Vereinfachung Ihres \u00d6kosystems, entweder durch die Verringerung der Anzahl seiner Komponenten oder durch eine bessere Integration\/Synchronisation dieser Komponenten.<\/p>\n<p>In diesem Artikel beschreiben wir, wie wir Online-\/Offline-Datenfl\u00fcsse und -Prozesse mit <a href=\"https:\/\/kafka.apache.org\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Kafka<\/a> optimiert haben.<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h2>Grundlegende Einf\u00fchrung in Kafka<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Kafka ist ein Datenspeicher, der f\u00fcr die Aufnahme und Verarbeitung von Streaming-Daten in Echtzeit optimiert ist. Bei Daten, die von Tausenden von Datenquellen gleichzeitig erzeugt und gesendet werden, kann Kafka den Zustrom bew\u00e4ltigen und die Daten sequentiell sowie inkrementell verarbeiten.<\/p>\n<p>Es kann verteilt werden, ist hochgradig skalierbar und kann Billionen von Nachrichten pro Tag verarbeiten.<\/p>\n<p>Ganz wichtig: Kafka ist quelloffen und wird von der Community betrieben. Es kann also kostenlos installiert werden.<\/p>\n<p>(Haftungsausschluss: Es gibt sehr viele Kafka-Anwendungen und wir behandeln hier nur ein schnelles praktisches Beispiel, das f\u00fcr eine Kafka-Einf\u00fchrung und schnelle praktische L\u00f6sung f\u00fcr ein relativ einfaches Gesch\u00e4ftsszenario geeignet ist).<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h2>Die Gesch\u00e4ftslage<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Der Kunde ist ein gemischtes Unternehmen in der Modebranche, das sowohl \u00fcber einen Online-Shop als auch \u00fcber ein ausgedehntes Netz an Ladengesch\u00e4ften verf\u00fcgt. Das Online-Gesch\u00e4ft wurde durch eine eigene Software-Infrastruktur (eine ma\u00dfgeschneiderte E-Shop-Plattform) betrieben, w\u00e4hrend in den station\u00e4ren Gesch\u00e4ften eine ma\u00dfgeschneiderte Cashbox-Software eingesetzt wurde.<\/p>\n<p>Nat\u00fcrlich mussten die beiden Systeme synchronisiert werden. Zum Beispiel m\u00fcssen die Wertgutscheine im gesamten Unternehmen erkannt\/akzeptiert werden, unabh\u00e4ngig davon, wo sie gekauft werden.<\/p>\n<p>Die Verwendung einer direkten Kommunikation zwischen den beiden Systemen\/Diensten ist nicht die optimale L\u00f6sung, da beide Dienste immer zur gleichen Zeit verf\u00fcgbar sein m\u00fcssen \u2500 was nicht garantiert werden kann.<\/p>\n<p>Hier kommt Apache Kafka ins Spiel: Es hilft uns beim Aufbau eines nachrichtenbasierten Kommunikationssystems zwischen den beiden Plattformen, das auch dann l\u00e4uft, wenn eine der Plattformen vor\u00fcbergehend nicht verf\u00fcgbar\/unerreichbar ist.<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h2>Installation von Kafka, praktische Anwendung<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>F\u00fcr einen schnellen Start ist Kafka auf drei Arten verf\u00fcgbar:<\/p>\n<ul>\n<li>eine lokale Installation<\/li>\n<li>eine lokale Installation mit Docker<\/li>\n<li>Kafka als Dienst in der Cloud<\/li>\n<\/ul>\n<p>Da wir alle M\u00f6glichkeiten durchgespielt haben gibt es hier unsere Meinung dazu.<\/p>\n<p>(Bitte beachten Sie: Wenn Sie Kafka f\u00fcr einen schweren Einsatz ben\u00f6tigen und \u00fcber das n\u00f6tige technische Know-how verf\u00fcgen, gibt es auch andere Optionen \u2500 schauen Sie sich einfach die verwalteten Kafka-Instanzen an, die bei allen gro\u00dfen Cloud-Anbietern erh\u00e4ltlich sind.)<\/p>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h3>Lokale Installation von Kafka<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Die Installationsschritte sind recht einfach:<\/p>\n<ul>\n<li>Stellen Sie sicher, dass Sie Java (mindestens Version 8) auf Ihrem System haben.<\/li>\n<li>Laden Sie zwei Anwendungen\/Pakete herunter: Kafka ist ein Paket aus zwei Anwendungen (dem Broker und Zookeeper).<\/li>\n<li>Starten Sie die Anwendungen einzeln \u00fcber die mitgelieferten Skripte.<\/li>\n<li>Verwenden Sie weitere mitgelieferte Skripte, um Kafka zu verwalten, aber auch um die Installation zu testen, indem Sie ein Test-Topic erstellen und Testnachrichten erzeugen und empfangen.<\/li>\n<\/ul>\n<p>Hier ist die detaillierte Beschreibung des Prozesses: <a href=\"https:\/\/kafka.apache.org\/quickstart\">https:\/\/kafka.apache.org\/quickstart<\/a>.<\/p>\n<p>Die Infrastruktur unseres Kunden basiert auf einer Gruppe von Windows-2012-Servern vor Ort. Deshalb haben wir beschlossen, Kafka auf einem dieser Servern zu installieren. Wir haben zwar einige fr\u00fche Warnungen \u00fcber Kafka unter Windows erhalten, aber da der Installationsprozess recht einfach aussah, haben wir uns einfach darauf eingelassen und es ausprobiert.<\/p>\n<p>Alles verlief reibungslos und schon nach wenigen Minuten konnten wir Kafka in Aktion erleben. Bald darauf begannen wir mit der Implementierung unserer speziellen Producers und Consumers. Es war fast zu sch\u00f6n, um wahr zu sein.<\/p>\n<p>Doch 24 Stunden sp\u00e4ter st\u00fcrzte der Kafka-Broker ab und beschwerte sich \u00fcber einige gesperrte Dateien. Durch einen Neustart des Brokers wurde das Problem \u201ebehoben\u201c, aber einige Stunden sp\u00e4ter trat derselbe Fehler wieder auf.<\/p>\n<p>Nach einigen Recherchen und Versuchen, eine geeignete L\u00f6sung zu finden (mehr \u00fcber den Fehler hier: <a href=\"https:\/\/github.com\/apache\/kafka\/pull\/6329\">https:\/\/github.com\/apache\/kafka\/pull\/6329<\/a>), beschlossen wir, eine andere Option zu w\u00e4hlen.<\/p>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h3>Cloud Kafka<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Dann haben wir nach einem Kafka-Dienst in der Cloud gesucht. Wir haben uns aus zwei Gr\u00fcnden f\u00fcr Cloudkarafka entschieden: Es gibt eine kostenlose Test- und Entwicklungsversion sowie zug\u00e4ngliche kommerzielle Pl\u00e4ne, wenn man damit weitermachen m\u00f6chte.<\/p>\n<p>Wir haben uns einfach f\u00fcr eine Testversion registriert und sofort alle Verbindungsdaten erhalten, die wir f\u00fcr die Nutzung ben\u00f6tigen.<\/p>\n<p>Die Migration des Codes von einem (lokal installierten) Kafka zu einem anderen (in der Cloud) war nur eine Frage der \u00c4nderung von Konfigurationen, da wir noch keine tats\u00e4chlichen Ereignisse zum Migrieren hatten.<\/p>\n<p>Hier sind die Vorteile von Kafka als Cloud-Dienst:<\/p>\n<ul>\n<li>keine Installationszeit und kein Aufwand, daher sofort verf\u00fcgbar<\/li>\n<li>keine Sorgen um Wartung und Konfiguration<\/li>\n<li>Die Sicherheit ist standardm\u00e4\u00dfig konfiguriert.<\/li>\n<\/ul>\n<p>&#8230; und die Nachteile:<\/p>\n<ul>\n<li>Es f\u00e4llt eine monatliche Geb\u00fchr an, die von der Geschwindigkeit und dem Volumen der \u00fcber Kafka verarbeiteten Daten abh\u00e4ngt.<\/li>\n<li>F\u00fcr europ\u00e4ische Unternehmen m\u00fcssen die Daten innerhalb der EU gespeichert werden und nicht alle Cloud-Anbieter k\u00f6nnen dies garantieren. (Cloudkarafka allerdings schon.) (Cloudkarafka does, though.)<\/li>\n<\/ul>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h3>Linux-Installation von Kafka mit Docker<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||25px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>Obwohl die Kafka-Cloud-L\u00f6sung f\u00fcr unsere Gesch\u00e4ftszwecke gut genug war, wollten wir Kafka dennoch als lokale Installation haben.<\/p>\n<p>Da der Windows-Server nicht mehr in Frage kam, haben wir einen neuen Ubuntu-Server f\u00fcr diesen Zweck vorbereitet. Hier sind die notwendigen Schritte, um Kafka darauf zu installieren:<\/p>\n<ul>\n<li>Stellen Sie sicher, dass Sie Docker und docker-compose auf dem System verf\u00fcgbar haben<\/li>\n<li>Bereiten Sie eine Datei docker-compose.yml vor (es gibt viele Standardkonfigurationen daf\u00fcr).<\/li>\n<li>Starten Sie die Docker-Images mit den \u00fcblichen docker-compose-Befehlen.<\/li>\n<li>Sie werden immer noch die Admin-Skripte haben, um Ihre Installation zu testen, aber da alles in einem Docker l\u00e4uft, m\u00fcssen Sie diese starten:<\/li>\n<\/ul>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;|300|||||||&#8220; text_font_size=&#8220;1em&#8220; text_line_height=&#8220;1.3em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;1em&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; background_color=&#8220;#f8f8f8&#8243; custom_margin=&#8220;||25px|20px|false|false&#8220; custom_padding=&#8220;||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220; border_style_left=&#8220;none&#8220; locked=&#8220;off&#8220;]<pre class=\"text\" style=\"font-family:monospace\">docker exec -it &lt;container-name&gt; &lt;command&gt;<\/pre>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<p>(Hinweis: Eine ausf\u00fchrliche Beschreibung eines solchen Prozesses finden Sie im Abschnitt \u201eSingle Node setup\u201c auf <a href=\"https:\/\/www.baeldung.com\/ops\/kafka-docker-setup)\">https:\/\/www.baeldung.com\/ops\/kafka-docker-setup<\/a>).<\/p>\n<p>Dieses Mal war die Installation so stabil wie nur m\u00f6glich und wir haben sie schlie\u00dflich als unsere endg\u00fcltige L\u00f6sung verwendet, die in Produktion ging.<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h2>Verwendung von Kafka \u2500 das absolute Minimum<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<p>Wenn es darum geht, Kafka tats\u00e4chlich zu benutzen, sind die drei wichtigsten Begriffe:<\/p>\n<ul>\n<li>Topic: eine Kategorie, die zur Organisation von Nachrichten verwendet wird; jedes Topic hat seine eigene Nachrichtenwarteschlange<\/li>\n<li>Producer: eine Client-Anwendung, die Nachrichten f\u00fcr ein bestimmtes Topic produziert<\/li>\n<li>Consumer: eine Client-Anwendung, die Nachrichten aus einem bestimmten Topic abonniert<\/li>\n<\/ul>\n[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h3>Topics<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||25px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<p>Die Erstellung von Topics kann \u00fcber die oben erw\u00e4hnten Admin-Skripte erfolgen. F\u00fcr unser erstes spezielles Gesch\u00e4ftsszenario haben wir zwei Themen mit den Namen test.voucher und prod.voucher erstellt.<\/p>\n<p>Wir haben die Konvention, die Themen nach der jeweiligen Umgebung (Pr\u00e4fix), gefolgt vom Gesch\u00e4ftsereignis (Suffix) zu benennen. Hier ist der Befehl zum Erstellen eines Topics:<\/p>\n[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;|300|||||||&#8220; text_font_size=&#8220;1em&#8220; text_line_height=&#8220;1.3em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;1em&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; background_color=&#8220;#f8f8f8&#8243; custom_margin=&#8220;||35px|20px|false|false&#8220; custom_padding=&#8220;||||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;rgba(0,0,0,0)&#8220; border_style_left=&#8220;none&#8220; locked=&#8220;off&#8220; sticky_enabled=&#8220;0&#8243;]<pre class=\"text\" style=\"font-family:monospace\">kafka-topics.sh --create --topic test.voucher --bootstrap-server localhost:9092<\/pre>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h3>Producer und Consumer<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<p>Die Kafka-Community bietet Unterst\u00fctzung f\u00fcr das Schreiben von Producern und Consumern in allen wichtigen Sprachen. Die genauen Angaben und eindeutige Code-Schnipsel finden Sie hier: <a href=\"https:\/\/docs.confluent.io\/clients-confluent-kafka-dotnet\/current\/overview.html\">https:\/\/docs.confluent.io\/clients-confluent-kafka-dotnet\/current\/overview.html<\/a><\/p>\n<p>Um dies auf unser einfaches Gesch\u00e4ftsszenario abzubilden, w\u00fcrde ein Workflow wie folgt aussehen:<\/p>\n<ol>\n<li>Ein Gutschein wird in einem Gesch\u00e4ft gekauft.<\/li>\n<li>Ein spezieller Producer wird aktiviert, um eine Nachricht mit allen Details \u00fcber den Gutscheinkauf zu erstellen, die dann an ein bestimmtes Topic gesendet wird.<\/li>\n<li>Ein spezieller Consumer, der im Namen des Webshops handelt und dieses Topic abh\u00f6rt, \u201ef\u00e4ngt\u201c diese Nachricht ab und benachrichtigt den Webshop, um den Gutschein in seinem eigenen System zu registrieren.<\/li>\n<\/ol>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h2>Bew\u00e4hrte Praktiken, die wir verwendet haben<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h3>Kafka-REST-Proxy<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<p>Der Code, der die Producers und Consumers implementiert, sollte am besten als separater Microservice aufbewahrt werden, der wie ein Kafka-REST-Proxy funktioniert. Dieser Proxy wird zwischen Ihren Gesch\u00e4ftsdiensten und der Kafka-Instanz stehen.<\/p>\n<ul>\n<li>Wenn das Unternehmen beschlie\u00dft, eine Nachricht zu senden, wird es einfach einen REST-Aufruf an den Kafka-Proxy senden, der dann den dedizierten Producer f\u00fcr diese Aufgaben verwendet.<\/li>\n<li>Wenn das Unternehmen entscheidet, dass es an einer bestimmten Nachricht interessiert ist, registriert es sich daf\u00fcr bei einem REST-Endpunkt am Kafka-Proxy, der dann einen Consumer anweist, diesen Endpunkt aufzurufen, wenn eine Nachricht von Interesse eintrifft.<\/li>\n<\/ul>\n[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h3>Wiederholungs- und Notfallstrategie<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||35px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<ul>\n<li>Verwenden Sie den Commit-Mechanismus, um sicherzustellen, dass die Nachrichten ordnungsgem\u00e4\u00df verarbeitet werden. Wenn die Verarbeitung fehlschl\u00e4gt, wird die Nachricht auch nicht best\u00e4tigt und verbleibt in der Warteschlange.<\/li>\n<li>Eine Alternative zur obigen Technik ist die Verwendung eines speziellen Topics f\u00fcr Nachrichten, die nicht verarbeitet werden konnten. Sie werden in dieses Topic eingef\u00fcgt und von einem anderen Consumer verarbeitet.<\/li>\n<\/ul>\n[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||15px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<h3>\u00dcberwachung<\/h3>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||25px||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<ul>\n<li>Kafka wird ohne grafische Benutzeroberfl\u00e4che ausgeliefert. Sie ben\u00f6tigen einige Anzeige- und Verwaltungstools, die \u00fcber die blo\u00dfe Befehlsschnittstelle hinausgehen.<\/li>\n<li>Verwenden Sie \u00dcberwachungstools wie: Confluent Control Center, Prometheus &amp; Grafana oder Conduktor, um einen klaren, sofortigen \u00dcberblick \u00fcber Ihre Kafka-Instanz zu erhalten.<\/li>\n<\/ul>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8220;on&#8220; _builder_version=&#8220;4.7.7&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;6vh||0px||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;2em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||10px||false|false&#8220; border_color_left=&#8220;#ff6317&#8243;]<h2>Fazit<\/h2>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.7.7&#8243; text_font=&#8220;||||||||&#8220; text_font_size=&#8220;1.1em&#8220; text_line_height=&#8220;1.6em&#8220; quote_font=&#8220;|700|||||||&#8220; quote_text_align=&#8220;left&#8220; quote_font_size=&#8220;16px&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;1.5em&#8220; header_2_line_height=&#8220;0.9em&#8220; header_3_font_size=&#8220;23px&#8220; header_4_font=&#8220;||||||||&#8220; header_4_font_size=&#8220;16px&#8220; header_4_line_height=&#8220;1.5em&#8220; header_5_font_size=&#8220;14px&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;||||false|false&#8220; hover_enabled=&#8220;0&#8243; border_color_left=&#8220;#ff6317&#8243; sticky_enabled=&#8220;0&#8243;]<p>Mit dem Einsatz von Apache Kafka konnten wir das Hauptproblem l\u00f6sen, n\u00e4mlich die Synchronisierung verschiedener, nicht direkt miteinander verbundener Teile des Software-\u00d6kosystems des Kunden.<\/p>\n<p>Aber dann erreichten wir andere, ebenso wichtige Vorteile, wie z. B.:<\/p>\n<ul>\n<li>Ausfallsicherheit des \u00d6kosystems<\/li>\n<li>Flexibilit\u00e4t<\/li>\n<li>Erhaltung aller wichtigen Daten<\/li>\n<li>Selbst wenn ein Teil des Systems ausf\u00e4llt, funktioniert die Kommunikation weiter.<\/li>\n<\/ul>\n<p>Bei Berg Software setzen wir Gesch\u00e4ftsideen in Software um \u2500 und dieser Apache-Kafka-Fall ist ein einfaches Beispiel daf\u00fcr, wie wir Software-L\u00f6sungen zur Unterst\u00fctzung und Rationalisierung der Gesch\u00e4fte unserer Kunden einsetzen.<\/p>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8220;1&#8243; _builder_version=&#8220;4.4.1&#8243; custom_padding=&#8220;|||0px||&#8220; locked=&#8220;off&#8220;][et_pb_row use_custom_gutter=&#8220;on&#8220; gutter_width=&#8220;3&#8243; admin_label=&#8220;\uff3f&#8220; _builder_version=&#8220;4.4.6&#8243; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;4vh||8vh||false|false&#8220; border_color_left=&#8220;rgba(0,0,0,0)&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.4.6&#8243;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8220;1&#8243; _builder_version=&#8220;3.22&#8243; background_color=&#8220;#eeeeee&#8220; custom_padding=&#8220;50px||50px||false|false&#8220; border_color_top=&#8220;#ff6317&#8243; global_module=&#8220;1642&#8243;][et_pb_row column_structure=&#8220;1_3,1_3,1_3&#8243; _builder_version=&#8220;4.4.1&#8243; custom_padding=&#8220;0px|||||&#8220; locked=&#8220;off&#8220;][et_pb_column type=&#8220;1_3&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_social_media_follow _builder_version=&#8220;4.4.4&#8243; text_orientation=&#8220;left&#8220;][et_pb_social_media_follow_network social_network=&#8220;linkedin&#8220; url=&#8220;https:\/\/www.linkedin.com\/company\/berg-computers-srl\/&#8220; _builder_version=&#8220;4.4.4&#8243; background_color=&#8220;#007bb6&#8243; follow_button=&#8220;off&#8220; url_new_window=&#8220;on&#8220;]linkedin[\/et_pb_social_media_follow_network] [et_pb_social_media_follow_network social_network=&#8220;twitter&#8220; url=&#8220;https:\/\/twitter.com\/berg_software&#8220; _builder_version=&#8220;4.4.4&#8243; background_color=&#8220;#00aced&#8220; follow_button=&#8220;off&#8220; url_new_window=&#8220;on&#8220;]twitter[\/et_pb_social_media_follow_network] [et_pb_social_media_follow_network social_network=&#8220;facebook&#8220; url=&#8220;https:\/\/www.facebook.com\/bergCOMPUTERS&#8220; _builder_version=&#8220;4.4.4&#8243; background_color=&#8220;#3b5998&#8243; follow_button=&#8220;off&#8220; url_new_window=&#8220;on&#8220;]facebook[\/et_pb_social_media_follow_network] [et_pb_social_media_follow_network social_network=&#8220;instagram&#8220; url=&#8220;https:\/\/www.instagram.com\/berg_software\/&#8220; _builder_version=&#8220;4.4.4&#8243; background_color=&#8220;#ea2c59&#8243; follow_button=&#8220;off&#8220; url_new_window=&#8220;on&#8220;]instagram[\/et_pb_social_media_follow_network][\/et_pb_social_media_follow][\/et_pb_column][et_pb_column type=&#8220;1_3&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_post_nav in_same_term=&#8220;on&#8220; show_next=&#8220;off&#8220; _builder_version=&#8220;4.4.1&#8243; title_text_color=&#8220;#ff6317&#8243; custom_padding=&#8220;|25px|||false|false&#8220;][\/et_pb_post_nav][\/et_pb_column][et_pb_column type=&#8220;1_3&#8243; _builder_version=&#8220;4.4.1&#8243;][et_pb_post_nav in_same_term=&#8220;on&#8220; show_prev=&#8220;off&#8220; _builder_version=&#8220;4.4.1&#8243; title_text_color=&#8220;#ff6317&#8243; custom_padding=&#8220;|||25px|false|false&#8220;][\/et_pb_post_nav][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8220;1&#8243; admin_label=&#8220;CONTACT&#8220; _builder_version=&#8220;4.4.1&#8243; background_color=&#8220;#d2d2d2&#8243; custom_padding=&#8220;75px||75px||false|false&#8220; global_module=&#8220;1544&#8243;][et_pb_row column_structure=&#8220;1_4,3_4&#8243; admin_label=&#8220;Service Section Title&#8220; _builder_version=&#8220;4.4.1&#8243; custom_padding=&#8220;||25px||false|false&#8220; animation_direction=&#8220;top&#8220; locked=&#8220;off&#8220;][et_pb_column type=&#8220;1_4&#8243; _builder_version=&#8220;3.25&#8243; custom_padding=&#8220;|||&#8220; custom_padding__hover=&#8220;|||&#8220;][\/et_pb_column][et_pb_column type=&#8220;3_4&#8243; _builder_version=&#8220;3.25&#8243; custom_padding=&#8220;|||&#8220; custom_padding__hover=&#8220;|||&#8220;][et_pb_text _builder_version=&#8220;4.4.1&#8243; text_font=&#8220;|300|||||||&#8220; text_text_color=&#8220;#ffffff&#8220; text_line_height=&#8220;1.1em&#8220; header_5_font=&#8220;|600|||||||&#8220; header_5_text_color=&#8220;#ffffff&#8220; header_5_font_size=&#8220;14px&#8220; header_5_line_height=&#8220;1.5em&#8220; custom_margin=&#8220;||||false|false&#8220;]29 Jahre im Gesch\u00e4ft | 2700 Software-Projekte | 760 Kunden | 24 L\u00e4nder<\/p>\n<h5>Wir verwandeln Ideen in Software. Wie lautet Ihre Idee?<\/h5>[\/et_pb_text][et_pb_text admin_label=&#8220;Title&#8220; _builder_version=&#8220;4.4.6&#8243; header_text_align=&#8220;center&#8220; header_2_font=&#8220;|300|||||||&#8220; header_2_text_align=&#8220;left&#8220; header_2_text_color=&#8220;#ff6317&#8243; header_2_font_size=&#8220;50px&#8220; header_2_line_height=&#8220;0.9em&#8220; custom_margin=&#8220;||||false|false&#8220; custom_padding=&#8220;25px||25px||false|false&#8220;]<h2 id=\"Getintouch\">Kontakt aufnehmen<\/h2>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8220;1_4,3_4&#8243; _builder_version=&#8220;4.4.4&#8243;][et_pb_column type=&#8220;1_4&#8243; _builder_version=&#8220;4.4.4&#8243;][\/et_pb_column][et_pb_column type=&#8220;3_4&#8243; _builder_version=&#8220;4.4.4&#8243;][et_pb_contact_form email=&#8220;contact@bergsoftprod.wpengine.com&#8220; custom_message=&#8220;WEBFORM MESSAGE||et_pb_line_break_holder||\uff3f||et_pb_line_break_holder||FROM: %%Name%%||et_pb_line_break_holder||EMAIL: %%Email%%||et_pb_line_break_holder||PHONE NUMBER: %%Phone_number%%||et_pb_line_break_holder||COMPANY: %%Company_name%%||et_pb_line_break_holder||TERMS &amp; CONDITIONS: %%Terms_and_Conditions%%||et_pb_line_break_holder||DATA PRIVACY POLICY: %%Data_Privacy_Policy%%||et_pb_line_break_holder||\uff3f||et_pb_line_break_holder||MESSAGE:||et_pb_line_break_holder||%%Message%%&#8220; success_message=&#8220;Thank you for reaching out! Your message was sent. We will get back to you right away.&#8220; _builder_version=&#8220;4.7.7&#8243; form_field_background_color=&#8220;#d2d2d2&#8243; form_field_text_color=&#8220;#ffffff&#8220; form_field_focus_background_color=&#8220;#ffffff&#8220; form_field_focus_text_color=&#8220;#000000&#8243; title_level=&#8220;h2&#8243; title_font=&#8220;|300|||||||&#8220; title_text_color=&#8220;#ff6317&#8243; title_font_size=&#8220;30px&#8220; form_field_line_height=&#8220;1.5em&#8220; custom_button=&#8220;on&#8220; button_text_size=&#8220;14px&#8220; button_text_color=&#8220;#ffffff&#8220; button_bg_color=&#8220;#ff6317&#8243; button_border_width=&#8220;0px&#8220; button_border_radius=&#8220;0px&#8220; button_icon=&#8220;%%3%%&#8220; button_on_hover=&#8220;off&#8220; border_color_all=&#8220;#ffffff&#8220; border_width_bottom=&#8220;1px&#8220;][et_pb_contact_field field_id=&#8220;Name&#8220; field_title=&#8220;Name *&#8220; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243; form_field_background_color=&#8220;#d2d2d2&#8243; form_field_text_color=&#8220;#ffffff&#8220; form_field_focus_background_color=&#8220;#ffffff&#8220; form_field_focus_text_color=&#8220;#000000&#8243; border_width_bottom=&#8220;1px&#8220; button_text_size__hover_enabled=&#8220;off&#8220; button_one_text_size__hover_enabled=&#8220;off&#8220; button_two_text_size__hover_enabled=&#8220;off&#8220; button_text_color__hover_enabled=&#8220;off&#8220; button_one_text_color__hover_enabled=&#8220;off&#8220; button_two_text_color__hover_enabled=&#8220;off&#8220; button_border_width__hover_enabled=&#8220;off&#8220; button_one_border_width__hover_enabled=&#8220;off&#8220; button_two_border_width__hover_enabled=&#8220;off&#8220; button_border_color__hover_enabled=&#8220;off&#8220; button_one_border_color__hover_enabled=&#8220;off&#8220; button_two_border_color__hover_enabled=&#8220;off&#8220; button_border_radius__hover_enabled=&#8220;off&#8220; button_one_border_radius__hover_enabled=&#8220;off&#8220; button_two_border_radius__hover_enabled=&#8220;off&#8220; button_letter_spacing__hover_enabled=&#8220;off&#8220; button_one_letter_spacing__hover_enabled=&#8220;off&#8220; button_two_letter_spacing__hover_enabled=&#8220;off&#8220; button_bg_color__hover_enabled=&#8220;off&#8220; button_one_bg_color__hover_enabled=&#8220;off&#8220; button_two_bg_color__hover_enabled=&#8220;off&#8220;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Email&#8220; field_title=&#8220;E-Mail-Adresse *&#8220; field_type=&#8220;email&#8220; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243; button_text_size__hover_enabled=&#8220;off&#8220; button_one_text_size__hover_enabled=&#8220;off&#8220; button_two_text_size__hover_enabled=&#8220;off&#8220; button_text_color__hover_enabled=&#8220;off&#8220; button_one_text_color__hover_enabled=&#8220;off&#8220; button_two_text_color__hover_enabled=&#8220;off&#8220; button_border_width__hover_enabled=&#8220;off&#8220; button_one_border_width__hover_enabled=&#8220;off&#8220; button_two_border_width__hover_enabled=&#8220;off&#8220; button_border_color__hover_enabled=&#8220;off&#8220; button_one_border_color__hover_enabled=&#8220;off&#8220; button_two_border_color__hover_enabled=&#8220;off&#8220; button_border_radius__hover_enabled=&#8220;off&#8220; button_one_border_radius__hover_enabled=&#8220;off&#8220; button_two_border_radius__hover_enabled=&#8220;off&#8220; button_letter_spacing__hover_enabled=&#8220;off&#8220; button_one_letter_spacing__hover_enabled=&#8220;off&#8220; button_two_letter_spacing__hover_enabled=&#8220;off&#8220; button_bg_color__hover_enabled=&#8220;off&#8220; button_one_bg_color__hover_enabled=&#8220;off&#8220; button_two_bg_color__hover_enabled=&#8220;off&#8220;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Phone_number&#8220; field_title=&#8220;Telefonnummer&#8220; required_mark=&#8220;off&#8220; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Company_name&#8220; field_title=&#8220;Name des Unternehmens&#8220; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Message&#8220; field_title=&#8220;Nachricht *&#8220; field_type=&#8220;text&#8220; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243; form_field_background_color=&#8220;#d2d2d2&#8243; form_field_focus_background_color=&#8220;#ffffff&#8220; form_field_focus_text_color=&#8220;#000000&#8243; border_width_bottom=&#8220;1px&#8220; button_text_size__hover_enabled=&#8220;off&#8220; button_one_text_size__hover_enabled=&#8220;off&#8220; button_two_text_size__hover_enabled=&#8220;off&#8220; button_text_color__hover_enabled=&#8220;off&#8220; button_one_text_color__hover_enabled=&#8220;off&#8220; button_two_text_color__hover_enabled=&#8220;off&#8220; button_border_width__hover_enabled=&#8220;off&#8220; button_one_border_width__hover_enabled=&#8220;off&#8220; button_two_border_width__hover_enabled=&#8220;off&#8220; button_border_color__hover_enabled=&#8220;off&#8220; button_one_border_color__hover_enabled=&#8220;off&#8220; button_two_border_color__hover_enabled=&#8220;off&#8220; button_border_radius__hover_enabled=&#8220;off&#8220; button_one_border_radius__hover_enabled=&#8220;off&#8220; button_two_border_radius__hover_enabled=&#8220;off&#8220; button_letter_spacing__hover_enabled=&#8220;off&#8220; button_one_letter_spacing__hover_enabled=&#8220;off&#8220; button_two_letter_spacing__hover_enabled=&#8220;off&#8220; button_bg_color__hover_enabled=&#8220;off&#8220; button_one_bg_color__hover_enabled=&#8220;off&#8220; button_two_bg_color__hover_enabled=&#8220;off&#8220;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Terms_and_Conditions&#8220; field_title=&#8220; &#8220; field_type=&#8220;checkbox&#8220; checkbox_options=&#8220;%91{%22value%22:%22Ich habe die AGB gelesen und akzeptiert%22,%22checked%22:0,%22dragID%22:-1}%93&#8243; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243;][\/et_pb_contact_field][et_pb_contact_field field_id=&#8220;Data_Privacy_Policy&#8220; field_title=&#8220; &#8220; field_type=&#8220;checkbox&#8220; checkbox_options=&#8220;%91{%22value%22:%22Ich habe die Datenschutzrichtlinie gelesen und akzeptiert%22,%22checked%22:0,%22dragID%22:-1}%93&#8243; fullwidth_field=&#8220;on&#8220; _builder_version=&#8220;4.4.4&#8243;][\/et_pb_contact_field][\/et_pb_contact_form][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Wir besprechen, wie wir Online-\/Offline-Datenfl\u00fcsse und -Prozesse mit Apache Kafka optimiert haben.<\/p>\n","protected":false},"author":5,"featured_media":8429,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[141],"tags":[],"class_list":["post-8457","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v16.1.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apache Kafka in der Praxis: synchronisierte Kommunikation | Berg Software<\/title>\n<meta name=\"description\" content=\"Wir besprechen, wie wir Online-\/Offline-Datenfl\u00fcsse und -Prozesse mit Apache Kafka optimiert haben.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Kafka in der Praxis: synchronisierte Kommunikation | Berg Software\" \/>\n<meta property=\"og:description\" content=\"Wir besprechen, wie wir Online-\/Offline-Datenfl\u00fcsse und -Prozesse mit Apache Kafka optimiert haben.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\" \/>\n<meta property=\"og:site_name\" content=\"Berg Software\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bergCOMPUTERS\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-29T11:47:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-29T11:47:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.berg-software.com\/wp-content\/uploads\/Berg-Software-Kafka-hands-on-Adi-Nitu.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@berg_software\" \/>\n<meta name=\"twitter:site\" content=\"@berg_software\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"28 Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.berg-software.com\/en\/#organization\",\"name\":\"Berg Software\",\"url\":\"https:\/\/www.berg-software.com\/en\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/bergCOMPUTERS\/\",\"https:\/\/www.instagram.com\/berg_software\/\",\"https:\/\/www.linkedin.com\/company\/berg-computers-srl\/\",\"https:\/\/www.youtube.com\/channel\/UCw1FfcRJnC-CoKPwlcM10Iw\",\"https:\/\/twitter.com\/berg_software\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.berg-software.com\/en\/#logo\",\"inLanguage\":\"de-DE\",\"url\":\"https:\/\/berg-software.com\/wp-content\/uploads\/berg-software-logo.png\",\"contentUrl\":\"https:\/\/berg-software.com\/wp-content\/uploads\/berg-software-logo.png\",\"width\":512,\"height\":512,\"caption\":\"Berg Software\"},\"image\":{\"@id\":\"https:\/\/www.berg-software.com\/en\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.berg-software.com\/en\/#website\",\"url\":\"https:\/\/www.berg-software.com\/en\/\",\"name\":\"Berg Software\",\"description\":\"We turn ideas into software.\",\"publisher\":{\"@id\":\"https:\/\/www.berg-software.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.berg-software.com\/en\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#primaryimage\",\"inLanguage\":\"de-DE\",\"url\":\"https:\/\/www.berg-software.com\/wp-content\/uploads\/Berg-Software-Kafka-hands-on-Adi-Nitu.jpg\",\"contentUrl\":\"https:\/\/www.berg-software.com\/wp-content\/uploads\/Berg-Software-Kafka-hands-on-Adi-Nitu.jpg\",\"width\":1200,\"height\":600,\"caption\":\"Berg Software - Kafka hands on\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#webpage\",\"url\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\",\"name\":\"Apache Kafka in der Praxis: synchronisierte Kommunikation | Berg Software\",\"isPartOf\":{\"@id\":\"https:\/\/www.berg-software.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#primaryimage\"},\"datePublished\":\"2021-11-29T11:47:05+00:00\",\"dateModified\":\"2021-11-29T11:47:10+00:00\",\"description\":\"Wir besprechen, wie wir Online-\/Offline-Datenfl\\u00fcsse und -Prozesse mit Apache Kafka optimiert haben.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.berg-software.com\/de\/\",\"url\":\"https:\/\/www.berg-software.com\/de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.berg-software.com\/de\/category\/how-to-de\/\",\"url\":\"https:\/\/www.berg-software.com\/de\/category\/how-to-de\/\",\"name\":\"How to\"}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\",\"url\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/\",\"name\":\"Apache Kafka in der Praxis: synchronisierte Kommunikation zwischen Plattformen\"}}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.berg-software.com\/en\/#\/schema\/person\/348c86c1bd957c7a27a124f4189a0491\"},\"headline\":\"Apache Kafka in der Praxis: synchronisierte Kommunikation zwischen Plattformen\",\"datePublished\":\"2021-11-29T11:47:05+00:00\",\"dateModified\":\"2021-11-29T11:47:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/www.berg-software.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.berg-software.com\/de\/apache-kafka-in-der-praxis-synchronisierte-kommunikation-zwischen-plattformen\/#primaryimage\"},\"articleSection\":\"How to\",\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.berg-software.com\/en\/#\/schema\/person\/348c86c1bd957c7a27a124f4189a0491\",\"name\":\"Adrian Nitu\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/posts\/8457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/comments?post=8457"}],"version-history":[{"count":0,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/posts\/8457\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/media\/8429"}],"wp:attachment":[{"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/media?parent=8457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/categories?post=8457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.berg-software.com\/de\/wp-json\/wp\/v2\/tags?post=8457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}