Apache kafka là gì

     
1. Kafka là gì?2. Các khái niệm yêu cầu nắm khi tò mò về Kafka3. Một số Use Case Kafka tiêu biểu

1. Kafka là gì?

Nếu các bạn mới tìm hiểu về Kafka bạn sẽ thấy nhiều điều tương đối lạ, do Confluent định nghĩa đấy là một căn nguyên stream, nhiều bài viết khác cũng đi theo kim chỉ nan này; còn nhiều bài viết khác lại nói tới Kafka là một trong message broker.

Bạn đang xem: Apache kafka là gì

1.1. Apache Kafka là gì?

Apache Kafka là một hệ thống phân tán message – distributed messaging system, Kafka được cải cách và phát triển và gia hạn bởi Apache, chính vì vậy Kafka (message broker) có tên là Apache Kafka.

Giống như các chương trình/ ứng dụng message broker khác, nó được trở nên tân tiến theo quy mô public/subscribe. Bên public tài liệu được điện thoại tư vấn là producer và mặt nhận dữ liệu theo những topic sẽ tiến hành gọi là consumer.

*

1.2. Kafka stream là gì?

*

Kafka stream là 1 trong những nền tảng streaming phân tán sự kiện – distributed event streaming platform. Được cải tiến và phát triển dựa trên gốc rễ Apache Kafka distributed messaging system vì Linkedin vào năm 2011, kế tiếp trở thành dự án mã nguồn mở của Apache. Cho đến thời điểm hiện tại tại, nó được phân phối ưng thuận và khá đầy đủ nhất do Confluent thông qua Confluent Platform.

Nền tảng Kafka stream được viết bởi ngôn từ Scala và Java nhằm mục đích mục đích hỗ trợ dịch vụ giải pháp xử lý sự kiện dựa trên thời gian thực với độ trễ thấp cùng thông lượng cao. Vì thế, hệ thống được hơn 80% công ty lớn trong top 100 của Fortune tin dùng.

1.3. Kafka được sử dụng để gia công gì?

Kafka là một trong kho dữ liệu phân tán được về tối ưu hóa để xử lý dữ liệu theo thời hạn thực. Nếu là một trong nền tảng streaming trực tuyến đường sẽ cần phải xử lý dữ liệu một cách tiếp tục và tuần tự tăng dần. Tiếp sau đây sẽ là 3 chức năng chính Kafka sẽ cung cấp cho người dùng:

Publish với subscribe các stream của record (luồng dữ liệu).Khả năng lưu giữ trữ các stream of record một cách hiệu theo sản phẩm công nghệ tự những record được tạo.Khả năng giải pháp xử lý stream of record theo thời hạn thực

1.4. Vày sao nên thực hiện Kafka?

Vì đó là một dự án công trình mã nguồn mở được đóng gói hoàn chỉnh, với tính năng tốt, thuận lợi mở rộng lớn mà không cần phải tạm dừng khối hệ thống cùng với kia là kĩ năng chịu lỗi cao.

*

Nếu nhiều người đang xây dựng một phần mềm, một trang web hiển thị thông tin cho người dùng theo thời gian thực, Kafka đó là một lựa chọn buổi tối ưu. Bạn cũng có thể sử dụng Kafka nhằm nhập và tàng trữ dữ liệu trong quy trình phát trực tiếp; chúng ta có thể sử dụng như một trong những phần mềm message broker giúp 2 ứng dụng/ nền tảng hoàn toàn có thể giao tiếp cùng với nhau.

Những lợi ích khiến bạn suy xét về việc áp dụng Kafka:

Khả năng mở rộng: quy mô phân vùng nhật ký của Kafka có thể chấp nhận được dữ liệu của chúng ta có thể phân phối trên nhiều máy chủ và giúp chúng ta có thể mở rộng vật dụng chủ không ngừng mở rộng khi không còn phù hợp.Nhanh: Với biện pháp xử lý bóc các luồng dữ liệu, vì thế độ trễ vô cùng thấp có tác dụng cho vận tốc trở đề nghị nhanh hơn.Khả năng chịu đựng lỗi cùng độ bền: các gói tài liệu của chúng ta có thể được coppy và triển lẵm trên các server khác nhau. Bởi thế, khi gồm một sự nỗ lực xảy ra, dữ liệu của khách hàng ít bị lỗi hơn và bền hơn.

1.5. Kafka chuyển động như thay nào?

*

Hệ thống sử dụng kết hợp 2 tế bào hình chính là queuing với publish-subscribe nhằm mục tiêu cung cấp ích lợi tốt nhất cho người dùng.

Queuing chất nhận được dữ liệu hoàn toàn có thể được cách xử lý phân tán trên những consumer và tạo nên ra kĩ năng mở rộng cao.Publish-subscribe đã tiếp cận thuộc lúc những subscribe và các message sẽ tiến hành gửi đến những subscribe, ko thể sử dụng để phân tán các bước cho các worker.

2. Các khái niệm yêu cầu nắm khi tìm hiểu về Kafka

2.1. Producer

Trước lúc xử lý, nó sẽ thực hiện phân nhiều loại và lưu trữ những message dựa trên topic của chúng. Producer có trọng trách publish message vào các topic đam mê hợp. Sau đó, khi dữ liệu được gửi đến partition của topic được lưu trữ tại Broker.Consumer

Các consumer sẽ được định danh theo từng group name, nhiều consumer hoàn toàn có thể cùng phía trong một topic.

Xem thêm: Channel Là Gì ? Nghĩa Của Từ Channel Trong Tiếng Việt

2.2. Partition

Partition là nơi lưu trữ dữ liệu cho những topic, từng topic rất có thể có một hoặc những Partition khác nhau. Mỗi Partition sẽ được gán một ID và tàng trữ dữ liệu có định.

Trong 1 Kafka cluster, một Partition có thể được xào luộc thành nhiều bản và bao gồm một phiên bản chính leader chịu trách nhiệm đọc ghi dữ liệu; các bản còn lại sẽ mang tên là follower. Khi bạn dạng chính bị lỗi,sẽ có một phiên bản follower lên thay thế sửa chữa thành leader

2.3. Broker

Kafka cluster là 1 nhóm các server cùng mỗi team server này sẽ tiến hành gọi là broker.

*

2.4. Zookeeper

Zookeeper là một chức năng nhằm để làm chủ và sắp xếp lại những broker.

3. Một số Use Case Kafka tiêu biểu

3.1. Thực hiện như một message broker

Bạn có thể sử dụng Kafka để thay thế sửa chữa cho những Message broker như ActiveMQ hoặc RabbitMQ.

3.2. Website Activity Tracking

Đây là một cách thức truyền thống để áp dụng Kafka, bạn có thể sử dụng để xây dừng website và đăng sở hữu nội dung theo thời gian thực. Tất cả các tài liệu như: lượt coi trang, vận động tìm tìm và bất kể một hoạt động nào không giống trên trang của doanh nghiệp đều sẽ được tạo thành những topic. Hoạt động theo dõi trang web này đã giúp chúng ta cũng có thể phân tích được hành vi người dùng trên trang cùng thu hút không ít người đọc hơn.

3.3. Đo lường

Bạn rất có thể sử dụng Kafka để gây ra dữ liệu giám sát và đo lường các hoạt động. Đồng nghĩa cùng với việc nhiều người đang tập vừa lòng số liệu thống kê lại từ các nguồn phân tán trên trang nhằm mục đích tạo ra một nguồn dữ liệu tổng hợp.

3.4. Sử dụng để tạo nên Log

Tổng hòa hợp log hay nhật ký kết hoạt động, trên đây là phương pháp nhiều người tiêu dùng Kafka nhằm mục tiêu để tóm tắt các chi tiết và cung cấp bản ghi rõ ràng về tài liệu sự kiện nhằm mục tiêu để xử trí về sau.

3.5. Stream Processing

Đây là phương pháp sử dụng thông dụng nhất ở thời điểm hiện tại của Kafka, là một hệ thống được cách tân và phát triển để thích phù hợp với việc xử lý dữ liệu trong thời hạn thực. Mọi khi dữ liệu được thêm new vào topic sẽ ngay mau lẹ được ghi vào hệ thống và truyền mang đến cho mặt nhận dữ liệu. Với thư viện Kafka Streams được tích đúng theo từ phiên bản 0.10.0.0 có chức năng xử lý stream nhẹ tuy nhiên vô cùng khỏe khoắn mẽ.

Ngoài ra, chúng ta có thể sử dụng những công nắm mã mối cung cấp mở khác như: Apache Storm cùng Apache Samza nhằm xử lý.

Xem thêm: Tình Yêu Không Có Lỗi Lỗi Ở Bạn Thân Phần 2 Bao Nhiêu Tập, Tình Yêu Không Có Lỗi, Lỗi Ở Bạn Thân

Tổng kết lại, nội dung bài viết đã giúp đỡ bạn hiểu được về Kafka là gì cũng tương tự bạn cũng đã hoàn toàn có thể thấy rằng Kafka rất rất đáng để sử dụng.

——————————————————————————————————————————–