Một số ghi chú về Apache Kafka

Kafka là gì?

Kafka là hệ thống truyền bản tin Pub/Sub phân tán


Một số ví dụ thực tế

Hệ thống tracking hành động người dùng trên website

Hệ thống suggest sản phẩm 

Các khái niệm và thành phần trong Kafka

Producer

Thành phần thực hiện quá trình gửi bản tin lên Kafka

Consumer

Thành phần thực hiện việc lấy các bản tin từ Kafka về

Kafka Broker

Thành phẩn xử lý các bản tin

Topics

Các bản tin truyền nhận trong Kafka được phân loại thành các Topics

Partitions

Mỗi Topic sẽ bao gồm một hoặc nhiều Partitions

Zookeeper

Thành phần lưu trữ các thông tin hoạt động (Brokers, Topics, Users) của toàn hệ thống

Consumer Groups

Nhóm bao gồm 1 hoặc nhiều Consumers

Cluster

Hệ thống phân tán bao gồm Apache Zookeeper và một hoặc nhiều Apache Kafka Brokers liên kết lại với nhau

Cài đặt

Self Hosted

https://stackjava.com/apache-kafka/cai-dat-chay-apache-kafka-apache-zookeeper-tren-windows.html

https://stackjava.com/apache-kafka/cai-dat-cau-hinh-apache-kafka-apache-zookeeper-tren-ubuntu.html

Cloud

https://www.cloudkarafka.com

Công cụ

https://github.com/dushixiang/kafka-map

https://github.com/yahoo/CMAK

https://www.kafkamagic.com

https://github.com/danielqsj/kafka_exporter

Thư viện C#

https://www.nuget.org/packages/Confluent.Kafka

https://github.com/confluentinc/confluent-kafka-dotnet


https://www.nuget.org/packages/kafka-sharp

https://github.com/criteo/kafka-sharp


Hỗ trợ việc kết nối tới Kafka ổn định thông qua các retry

https://github.com/App-vNext/Polly


Message Queue / Service Bus

https://www.nuget.org/packages/DotNetCore.CAP

https://github.com/dotnetcore/CAP


https://www.nuget.org/packages/MassTransit

https://github.com/MassTransit/MassTransit


https://www.nuget.org/packages/Rebus

https://github.com/rebus-org/Rebus

https://github.com/glazkovalex/Rebus.Kafka


Tham khảo thêm

https://www.cloudkarafka.com/blog/2016-11-30-part1-kafka-for-beginners-what-is-apache-kafka.html



Tiếp tục cập nhật ...