Apache Kafka là gì? Hệ thống mã nguồn mở

vnthietkeweb kafka

Apache Kafka là một nền tảng Steaming trực tuyến sự kiện phân tán có thể mở rộng các đường dẫn dữ liệu thời gian thực khổng lồ. Nó được tạo ra vào năm 2011 tại LinkedIn, được viết bằng Java Scala, và được đặt tên là Kafka vì đây là một hệ thống được tối ưu hóa để viết. Hãy tưởng tượng việc sử dụng nó để tạo trang tổng hợp dữ liệu như Google Analytics.

Khi một sự kiện xảy ra, chẳng hạn như lượt truy cập trang web, API của nhà sản xuất sẽ tạo một bản ghi mới. Các bản ghi này được lưu vào đĩa và để tắt nhật ký đáng chú ý được gọi là chủ đề, có thể tồn tại vĩnh viễn hoặc biến mất khi không còn cần thiết.

Các chủ đề được phân phối và nhân rộng trong một cụm chứa nhiều máy chủ được gọi là nhà môi giới. Điều này làm cho Apache Kafka đa dụng, và có thể mở rộng theo bất kỳ khối lượng công việc nào. Mặt khác, nhiều người tiêu dùng có thể đăng ký dữ liệu này. Họ có thể đọc tin nhắn gần đây nhất như AQ hoặc đọc toàn bộ nhật ký chủ đề và nghe cập nhật trong thời gian thực.

Ngoài ra, nó cung cấp API luồng rất mạnh có thể chuyển đổi và tổng hợp các chủ đề này trước khi chúng đến tay người tiêu dùng.

Tất cả điều này nghe có vẻ giống với các trình môi giới tin nhắn như Rabbit MQ, nhưng Apache Kafka có thể xử lý nhiều thông lượng hơn và lý tưởng cho các ứng dụng truyền dữ liệu. Ví dụ: ngày nay nó được các công ty như lyft sử dụng để thu thập và xử lý dữ liệu định vị địa lý, spotify và Netflix để xử lý nhật ký và Cloudflare để phân tích thời gian thực.

See also  Dịch vụ tư vấn thương mại điện tử

Để bắt đầu, hãy tải xuống và sử dụng công cụ như Zookeeper hoặc Kraft để quản lý cụm của bạn. Trong một thiết bị đầu cuối, khởi động Zookeeper, sau đó trong thiết bị đầu cuối khác, khởi động máy chủ Kafka. Với môi trường đang hoạt động, giờ đây chúng ta có thể tạo chủ đề đầu tiên của mình.

Apache Kafka: Cách viết sự kiện cho một chủ đề

Hãy nhớ rằng, một chủ đề chỉ là một bản ghi các sự kiện được sắp xếp theo thứ tự. Một sự kiện sẽ có một giá trị khóa và dấu thời gian, đồng thời cũng có thể chứa các tiêu đề và siêu dữ liệu tùy chọn. Hãy sử dụng lệnh này để xuất bản một sự kiện cho chủ đề mà mỗi dòng đại diện cho một sự kiện khác nhau.

Bây giờ những sự kiện này được ghi vào một chủ đề được lưu trữ lâu dài và được phân vùng trong cụm. Kafka đảm bảo rằng bất kỳ người tiêu dùng nào của một chủ đề nhất định sẽ luôn đọc các sự kiện theo cùng một thứ tự.

Với lệnh này, chúng tôi có thể sử dụng chủ đề theo mặc định. Nó sẽ cung cấp cho chúng ta sự kiện mới nhất. Mặc dù chúng ta có thể sử dụng cờ bắt đầu để đọc toàn bộ nhật ký, nhưng cũng có thể cung cấp một phần bù để đọc một tập hợp con các bản ghi. Tại thời điểm này, chúng tôi đã đạt được tính năng phát trực tuyến sự kiện cơ bản, nhưng API luồng Apache Kafka có thể đưa mọi thứ lên một cấp độ khác.

See also  Phân tích dữ liệu

Nó được hỗ trợ tốt nhất với Java và có thể thực hiện những việc như chuyển đổi không trạng thái như lọc ra một tập hợp con các sự kiện hoặc chuyển đổi trạng thái, chẳng hạn như một tập hợp kết hợp nhiều sự kiện thành một giá trị trong một khoảng thời gian nhất định. Tại thời điểm đó, bạn có thể quản lý các luồng dữ liệu theo thời gian thực ở hầu hết mọi quy mô.

Tu vấn DevOps

Leave a Reply

Your email address will not be published. Required fields are marked *