Inteca » Zrealizowane projekty » Integracja systemów z Apache Kafka | Case study

INTEGRACJA SYSTEMÓW · APACHE KAFKA · UBEZPIECZENIA

Integracja systemów z Apache Kafka – centralna dystrybucja logów i komunikatów

Inteca zaprojektowała i wdrożyła platformę integracyjną opartą na Apache Kafka, która łączy systemy źródłowe z systemami docelowymi i zapewnia niezawodną dystrybucję, przetwarzanie oraz archiwizację logów i komunikatów. Platforma centralizuje informacje o komunikacji między systemami i umożliwia ich dalsze wykorzystanie na potrzeby analizy, korelacji zdarzeń i audytu.

  • Zapis w czasie rzeczywistym, również przy dużym obciążeniu
  • Modularna architektura integracyjna – ograniczenie prac programistycznych przy podłączaniu kolejnych systemów

4
konektory Kafka Connect
3
systemy docelowe
7
osób w zespole

Technologiei obszary rozwiązania

Java 17

Apache Kafka

Kafka Streams

Kafka Connect

JMS

S3

ELK

JDBC

Klient

Instytucja sektora ubezpieczeń z rozproszonym krajobrazem systemów

Klientem jest instytucja z sektora ubezpieczeń, utrzymująca rozbudowane środowisko systemów wymieniających między sobą dane w trybie ciągłym. Wraz ze wzrostem liczby integracji rosła potrzeba uporządkowania sposobu przepływu informacji pomiędzy systemami oraz stworzenia centralnego mechanizmu pozwalającego niezawodnie przechwytywać, przetwarzać i udostępniać dane o ich komunikacji.

Rozwiązanie miało jednocześnie usprawnić analizę problemów i zapewnić dostęp do danych potrzebnych podczas audytów i analizy incydentów.

Profil klienta

Case study zanonimizowane na życzenie klienta

Branża
Ubezpieczenia
Obszar
Integracja systemów
Rynek
Polska
Zespół projektowy
7 osób

Ze względu na politykę informacyjną klienta nazwa instytucji nie jest ujawniana. Zakres prac, architekturę i rezultaty opisujemy w pełni.


Punkt wyjścia

Rosnąca liczba integracji i dane rozproszone pomiędzy systemami

Informacje o odpytaniach usług i komunikacji między systemami powstawały w wielu miejscach jednocześnie — każdy system prowadził własny zapis, we własnym formacie i we własnym cyklu retencji. Odtworzenie przebiegu jednego zdarzenia oznaczało przeszukiwanie kilku źródeł naraz, a przy zgłoszeniu wymagającym audytu lub analizy incydentu każda godzina takiej pracy była godziną straconą. Klient potrzebował centralnego rozwiązania, które pozwoli:

Gromadzenie danych w jednym miejscu  - poprzez jeden, spójny mechanizm wymiany danych.

Przetwarzać dane w czasie rzeczywistymrównież w okresach zwiększonego obciążenia.

Zapewnić niezawodne dostarczanie komunikatów - bez utraty danych pomiędzy systemem źródłowym a docelowym.

Łatwy dostęp do historii - na potrzeby analizy, korelacji zdarzeń, audytu i rozpatrywania zgłoszeń.

Trwałe przechowywanie  - mechanizmy trwałego zapisu i kolejkowania ograniczające ryzyko utraty wpisów pomiędzy systemami.


Rozwiązanie: centralna warstwa wymiany danych

Integracja systemów z Apache Kafka jako centralną warstwą wymiany danych

Zaprojektowaliśmy i wdrożyliśmy platformę opartą na Apache Kafka, pełniącą rolę centralnego punktu dystrybucji i buforowania logów oraz komunikatów z systemów źródłowych. Kluczową decyzją architektoniczną była modularność: podłączenie kolejnego systemu nie wymaga pisania dedykowanego kodu integracyjnego, tylko konfiguracji konektora.

Platforma została zintegrowana z rozwiązaniami już funkcjonującymi w środowisku klienta, dzięki czemu Apache Kafka mogła pełnić rolę centralnej warstwy pomiędzy istniejącymi systemami źródłowymi i docelowymi.

Broker Apache Kafka

Centralny punkt przyjmowania, buforowania i dystrybucji komunikatów, zapewniający wysoką dostępność i odporność na awarie.

Kafka Streams

Przetwarzanie strumieni w czasie rzeczywistym — transformacja, filtrowanie i routing komunikatów do właściwych odbiorców.

Kafka Connect

Warstwa integracyjna podłączająca systemy źródłowe i docelowe bez implementacji dedykowanego kodu po każdej stronie.

Backup na S3

Dodatkowa warstwa zabezpieczenia — archiwizacja przetwarzanych komunikatów w repozytorium obiektowym.

Architektura modularna

Rozbudowa o nowe źródła, nowe systemy docelowe i dodatkowe mechanizmy przetwarzania bez przebudowy platformy.


Architektura

Od systemu źródłowego do repozytorium audytowego

Przepływ danych został oparty na spójnym mechanizmie odbioru, buforowania, przetwarzania i przekazywania komunikatów do systemów docelowych — niezależnie od tego, z którego systemu pochodzi i w jakim formacie został wysłany.

01

Odbiór z systemów źródłowych

Rozwiązanie odbiera komunikaty m.in. z systemów opartych o JMS i obsługuje dane w formatach XML oraz CSV.

02

Buforowanie w brokerze

Kafka przyjmuje i trwale zapisuje komunikaty, kolejkując je niezależnie od dostępności systemów docelowych — to ten mechanizm eliminuje ryzyko utraty wpisów.

03

Przetwarzanie strumieni

Kafka Streams transformuje, filtruje i kieruje komunikaty do właściwych odbiorców, jeszcze zanim trafią do systemów docelowych.

04

Dostarczenie i archiwizacja

Konektory docelowe zapisują dane w repozytorium S3, w relacyjnej bazie danych oraz w ELK, a równolegle działa niezależny backup komunikatów na S3.


Rezultat

Centralny obraz komunikacji między systemami

Klient otrzymał spójny obraz tego, co dzieje się między systemami — dostępny natychmiast, bez konieczności zbierania danych z kilku miejsc naraz.

Centralizacja danych — wszystkie informacje o odpytaniach usług i logach w jednym, spójnym systemie.

Niezawodne dostarczanie — mechanizmy trwałego zapisu i kolejkowania w Kafka eliminują ryzyko utraty logów.

Łatwiejsza weryfikacja i audyt — szybki dostęp do danych historycznych przy analizie zdarzeń, incydentów i zgłoszeń.

Krótszy czas diagnozy — uproszczona analiza komunikacji między systemami skraca drogę od zgłoszenia do przyczyny.

Potrzebujesz zintegrować systemy z Apache Kafka?

Projektujemy i wdrażamy rozwiązania integracyjne oparte na Apache Kafka - od architektury i konfiguracji przepływu danych po Kafka Connect, Kafka Streams i integrację z istniejącymi systemami przedsiębiorstwa.