Big Data Passion

Big Data Passion

Strona tworzona przez pasjonatów i praktyków Big Data

Confluent Platform - dystrybucja Big Data której sercem jest Apache Kafka

Artykuł poświęcony Confluent Platform 7 której sercem jest Apache Kafka 3

Radosław Szmit

Apache Kafka stała się bazą wielu systemów przetwarzających dane strumieniowe. Jednakże często potrzebujemy rozszerzyć jej możliwości dodatkowymi komponentami jak rejestr schematów, rest proxy, replikację danych, dodatkowe konektory i wiele innych. W takich sytuacjach z pomocą przychodzi nam Confluent Platform, czyli kompletna dystrybucja Big Data, której sercem jest Apache Kafka. Z platformy korzysta obecnie ponad 80% firm z zestawienia Fortune 100. W tym artykule przedstawię najważniejsze informacje dotyczące tej platformy.

Komponenty platformy

Sercem Confluent Platform jest Apache Kafka, oczywiście z uwzględnieniem wszystkich modułów, czyli:

  • Kafka Core (broker)
  • Kafka Connect
  • Kafka Streams

Jednakże największą zaletą korzystania z platformy są dodatkowe komponenty jak:

  • Confluent Schema Registry — rejestr schematów, który znacząco ułatwia pracę z komunikatami Avro, JSON lub Protobuf
  • Confluent Clients — biblioteki dostępowe dla języków programowania spoza środowiska JVM jak C/C++, Python, Go, .NET
  • Confluent REST Proxy — REST API przydatne do pracy, gdy nie możemy skorzystać z natywnych bibliotek klienckich
  • Confluent Connectors to Kafka — dodatkowe pluginy dla Kafka Connect
  • ksqlDB — narzędzie umożliwiające strumieniowe przetwarzanie danych oraz budowanie przepływu danych za pomocą języka SQL, bazuje na Kafka Streams oraz Kafka Connect, wcześniejsza nazwa to KSQL
  • Confluent CLI — dodatkowe narzędzia konsolowe do codziennej pracy z platformą i jej składowymi
  • Confluent Control Center — narzędzie UI do zarządzania naszym klastrem
  • Confluent Replicator — narzędzie do replikacji danych pomiędzy klastrami
  • Confluent Cluster Linking — narzędzie do synchronizacji danych pomiędzy klastrami Apache Kafka (binarnie)
  • Confluent Auto Data Balancer / Self-Balancing Clusters — narzędzie umożliwiające automatyczne równomierne rozkładanie ruchu na Kafce, wykrywanie awarii oraz automatyczną naprawę klastra
  • Tiered Storage — optymalizacja kosztów w chmurze przez trzymanie starszych danych np. w Amazon S3, Google Cloud Storage lub MinIO
  • Confluent JMS Client — Klient JMS dla Kafki
  • Confluent MQTT Proxy — Możliwość komunikacji z Kafką za pomocą protokołu MQTT (np. RabbitMQ go używa)
  • Confluent Security Plugins — Dodatkowe pluginy zwiększające bezpieczeństwo

Jak widać, platforma znacząco zwiększa możliwości, jakie oferuje Apache Kafka.

Możliwość wdrożenia

Jeśli chcielibyśmy wypróbować Confluent Platform, najlepszym rozwiązaniem jest skorzystanie z kontenerów dostępnych w Docker Hub.

Gdy przyjdzie nam skorzystać z Confluent Platform produkcyjnie, mamy trzy ścieżki do wyboru

  • Klasyczna instalacja oparta o maszyny fizyczne (Bare metal) lub wirtualne
  • Confluent for Kubernetes (CFK) — możliwość instalacji na dowolnym klastrze Kubernetes
  • Confluent Cloud — gotowy serwis umożliwiający pracę z Confluent Platform w chmurze AWS, GCP lub Azure. Umożliwia on także pracę z Apache Kafka jako serverless.

W przypadku pierwszej wersji, czyli samodzielnej instalacji, można ją przeprowadzić ręcznie za pomocą gotowych paczek ZIP/TAR lub repozytoriów Linux dla systemów Debian, Ubuntu, Red Hat oraz CentOS. Dużo jednak lepszym i wygodniejszym rozwiązaniem jest skorzystanie z gotowych Ansible playbooks.

Licencja i cennik

Confluent Platform korzysta z trzech rodzajów licencji:

  • Apache 2.0 License — Apache Kafka, Kafka Streams, Kafka Connect, Kafka Clients, Serializers, Community Connectors
  • Confluent Community License — REST Proxy, Schema Registry, ksqlDB, Confluent Connectors
  • Confluent Enterprise License — Control Center, Replicator, Auto Data Balancer, Enterprise Connectors

Z narzędzi dostępnych na licencji Apache 2.0 może skorzystać każda firma. Jeśli jesteśmy firmą, która chce wykorzystać Confluent Platform do własnego użytku, to najprawdopodobniej możemy skorzystać za darmo także z rozwiązań objętych licencją community (szczegóły w treści licencji). Firmy chcące skorzystać ze wszystkich możliwości, jakie oferuje Confluent Platform, muszą liczyć się z koniecznością zakupu pełnej komercyjnej licencji, wraz z którą otrzymują wsparcie firmy Confluent. Cennik nie jest publicznie dostępny, dlatego w przypadku zainteresowania proszę o kontakt z przedstawicielami firmy.

W przypadku wersji chmurowej mamy możliwość pracy z platformą w modelu płatności za użycie, zaś cennik jest publicznie dostępny na stronie Confluent Cloud.

Dodatkowe informacje

W kolejnych artykułach przyjrzymy się bliżej możliwościom, jakie oferuje Confluent Platform.

Więcej informacji można także znaleźć pod poniższymi adresami:

comments powered by Disqus

Ostatnie wpisy

Zobacz więcej

Kategorie

About