Kafka là gì? Ứng dụng Kafka cơ bản cho hệ thống message | TopDev

Kafka là gì?

kafka là gì? Nó là một hệ thống nhắn tin xuất bản/đăng ký phân tán. Công chúng dữ liệu được gọi là nhà sản xuất và những người đăng ký nhận dữ liệu theo chủ đề được gọi là người tiêu dùng. Kafka có khả năng truyền một số lượng lớn tin nhắn trong thời gian thực, trong trường hợp bên nhận chưa nhận được tin nhắn thì nó vẫn được lưu trữ trong hàng đợi dự phòng và cũng được lưu trữ trên đĩa an toàn. Nó cũng được nhân rộng trên toàn cụm để tránh mất dữ liệu.

Khái niệm cơ bản

Bạn có thể xem giải thích rõ hơn về nhà môi giới tin nhắn là gì không?

Kafka là gì? –Có thể hiểu là bản ghi nhật ký hệ thống, giúp lưu trạng thái của hệ thống để tránh mất thông tin.

Các định nghĩa trên được giải thích bằng các khái niệm sau:

  • nhà sản xuất: Kafka lưu các tin nhắn, phân loại chúng theo chủ đề và sử dụng nhà sản xuất để xuất bản các tin nhắn theo chủ đề. Dữ liệu được gửi đến các phân vùng chủ đề được lưu trữ trên các nhà môi giới.
  • consumer: Kafka sử dụng người tiêu dùng để đăng ký chủ đề và người tiêu dùng được xác định theo tên nhóm. Nhiều người tiêu dùng có thể đọc cùng một chủ đề.
  • topic: Trong Kafka, dữ liệu được truyền theo chủ đề, khi dữ liệu cần truyền đến các ứng dụng khác nhau, các chủ đề khác nhau sẽ được tạo.
  • Phân vùng: Đây là nơi lưu trữ dữ liệu chủ đề. Một chủ đề có thể có một hoặc nhiều phân vùng. Trên mỗi phân vùng, dữ liệu được lưu trữ vĩnh viễn và được gán một id gọi là phần bù. Trong cụm Kafka, một phân vùng có thể được sao chép thành nhiều bản sao. Một trong những người lãnh đạo chịu trách nhiệm đọc và ghi dữ liệu, những người còn lại được gọi là người theo dõi. Khi phiên bản thủ lĩnh bị lỗi sẽ có phiên bản đi theo thay thế thủ lĩnh. Nếu bạn muốn sử dụng nhiều người tiêu dùng để đọc dữ liệu từ một chủ đề song song, thì chủ đề đó cần phải có nhiều phân vùng.
  • broker: Cụm kafka là một nhóm máy chủ, mỗi máy chủ được gọi là broker
  • zookeeper: Được sử dụng để quản lý và sắp xếp các nhà môi giới.
  • Tại sao nên sử dụng Apache Kafka?

    kafka là một dự án mã nguồn mở, được đóng gói đầy đủ, có khả năng chịu lỗi, rất hiệu quả và dễ dàng mở rộng quy mô mà không cần dừng hệ thống.

    Kafka rất đáng tin cậy và có khả năng lưu trữ lượng lớn dữ liệu nên nó đang dần bị thay thế bởi các hệ thống nhắn tin truyền thống.

    Một số trường hợp sử dụng kafka:

    • Được sử dụng làm hệ thống xếp hàng tin nhắn thay thế cho activemq hoặc rabbitmq
    • Giám sát hoạt động trang web: Giám sát hoạt động trang web
    • Xử lý luồng: Kafka là một hệ thống rất phù hợp để xử lý luồng thời gian thực. Khi dữ liệu cho một chủ đề mới được thêm vào, nó sẽ ngay lập tức được ghi vào hệ thống và truyền đến người nhận. Ngoài ra, kafka là một hệ thống có dữ liệu bền bỉ, lưu trữ dữ liệu một cách an toàn cho đến khi người nhận sẵn sàng nhận dữ liệu đó.
    • Tập hợp nhật ký: Tập hợp nhật ký
    • Bộ sưu tập chỉ số: thu thập dữ liệu, theo dõi hoạt động của người dùng, chẳng hạn như lượt xem trang, hoạt động tìm kiếm của người dùng và các thông số khác sẽ được xuất bản lên chủ đề và được xử lý sau
    • Tìm nguồn sự kiện: Lưu trạng thái của hệ thống để có thể tái tạo hệ thống trong trường hợp xảy ra lỗi hệ thống.
    • Trường hợp sử dụng thương mại điện tử kafka

      Một hệ thống thương mại điện tử có nhiều máy chủ thực hiện các tác vụ khác nhau. Tất cả các máy chủ này sẽ giao tiếp với máy chủ cơ sở dữ liệu để đọc và ghi dữ liệu.

      Như vậy sẽ có nhiều đường ống dữ liệu kết nối đến máy chủ cơ sở dữ liệu này từ nhiều máy chủ khác. Cấu trúc như sau:

      Trông đơn giản, nhưng đó là một hệ thống nhỏ, đối với một hệ thống lớn hơn, nó trông như thế này:

      Hiện nay do số lượng hệ thống máy chủ tăng lên, đường dẫn dữ liệu sẽ trở nên rất phức tạp. Bây giờ, nếu chúng ta sử dụng kafka để tách đường truyền dữ liệu giữa các hệ thống, giúp việc liên lạc giữa các hệ thống trở nên đơn giản và dễ quản lý hơn.

      Tóm tắt kafka là gì

      Để sử dụng kafka, hãy tải xuống tại đây và làm theo hướng dẫn.

      Có thể bạn quan tâm:

      • Hệ thống xử lý luồng hoạt động như thế nào
      • hàng đợi tin nhắn apache kafka
      • Cách tạo ứng dụng ocr bằng máy học
      • Xem thêm các công việc phổ biến trên topdev

Related Articles

Back to top button