Kafka Phần mềm hàng đợi tin nhắn miễn phí
Nền tảng phát trực tuyến sự kiện phân tán dựa trên Scala & Java
Apache Kafka là một nền tảng phát trực tuyến sự kiện phân tán nguồn mở. Nó là một nhà môi giới hàng đợi mạnh mẽ và được xây dựng như một hệ thống nhắn tin nội bộ được phát triển bởi liên kết
Tổng quan
Kafka là một hệ thống nhắn tin nguồn mở và là một nhà môi giới hàng đợi mạnh mẽ. Nó được phân phối nền tảng phát trực tuyến sự kiện và có khả năng xử lý một khối lượng tin nhắn lớn. Tin nhắn Kafka được lưu trữ trên đĩa và nó cho phép bạn gửi tin nhắn từ điểm này sang điểm khác một cách liền mạch. Tin nhắn được nhân rộng trong toàn bộ cụm Kafka để ngăn chặn các hoạt động không mong muốn xảy ra như bất kỳ mất dữ liệu nào. Nền tảng nhắn tin Kafka được xây dựng để xử lý truyền phát sự kiện theo thời gian thực, lót ống và phát lại dữ liệu cho các hoạt động nhanh, có thể mở rộng. Phần mềm hàng đợi tin nhắn phân tán Apache Kafka được hàng ngàn công ty sử dụng cho các đường ống dữ liệu hiệu suất cao và sự tích hợp của nó với Apache Storm và Spark. Kafka cung cấp hiệu suất cao so với các nhà môi giới tin nhắn và hàng đợi như Activemq và RabbitMQ, v.v. Apache Kafka là một thay thế cho nhiều hệ thống nhắn tin doanh nghiệp. Nó được xây dựng như một hệ thống nhắn tin nội bộ được phát triển bởi Linked-In để xử lý 1,4 nghìn tỷ tin nhắn trong một ngày. Đây là một nền tảng tốt nhất và phù hợp để triển khai hàng đợi vì nó tăng hiệu suất bằng cách sử dụng các hoạt động I/O đĩa tuần tự. Đây cũng là một lựa chọn hoàn hảo cho các trường hợp sử dụng dữ liệu lớn vì nó có thể đạt được thông lượng cao với số lượng tài nguyên hạn chế, tức là hàng triệu tin nhắn mỗi giây. Phần mềm nguồn mở Kafka có 19,4K GitHub Stars và 10,3k GitHub Fork.
Yêu cầu hệ thống
Yêu cầu thiết lập phần mềm Apache Kafka bao gồm:
- Java 8+
- ZooKeeper
- Ubuntu 20.04 lts
- Git
Đặc trưng
Một số tính năng chính của Apache Kafka được liệt kê dưới đây:
- Khả năng mở rộng
- Mở to
- Chuyển đổi dữ liệu
- Dung sai lỗi
- Độ tin cậy
- Độ bền
- Hiệu suất
- Không thời gian chết
- Khả năng mở rộng
- Nhân rộng
- Mã nguồn mở
Hướng dẫn cài đặt
Cài đặt Apache Kafka trên Ubuntu
Hướng dẫn này giải thích cách thiết lập và kafka. Dưới đây các bước cài đặt giả định rằng tất cả các gói phụ thuộc của Kafka được cài đặt và cập nhật trên hệ thống của bạn. Vui lòng làm theo các bước cài đặt bên dưới. Nhận Kafka bằng cách tải xuống bản phát hành mới nhất Kafka và trích xuất nó bằng các lệnh:
tar -xzf kafka_2.13-2.8.0.tgz
cd kafka_2.13-2.8.0
Tiếp theo, bắt đầu môi trường Kafka. Môi trường hệ thống địa phương của bạn phải cài đặt Java 8+. Thực hiện các lệnh sau để bắt đầu tất cả các dịch vụ theo đúng thứ tự:
bin/zookeeper-server-start.sh config/zookeeper.properties
Mở một phiên thiết bị đầu cuối khác và dtart dịch vụ môi giới Kafka bằng cách:
bin/kafka-server-start.sh config/server.properties
Khi tất cả các dịch vụ đã được cài đặt thành công, bạn sẽ có môi trường Kafka cơ bản chạy và sẵn sàng truy cập. Bạn cần tạo một chủ đề trước khi viết sự kiện đầu tiên của bạn. Mở một phiên thiết bị đầu cuối khác và lệnh chạy:
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
Bây giờ, hãy chạy khách hàng của nhà sản xuất giao diện điều khiển để viết một vài sự kiện riêng biệt vào chủ đề:
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
Mở một phiên thiết bị đầu cuối console khác và chạy khách hàng người tiêu dùng giao diện điều khiển để đọc các sự kiện bạn vừa tạo với:
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
Bạn có thể liên tục nhập/xuất dữ liệu của mình vào và ra khỏi Kafka. Sử dụng CTRL-C để ngăn chặn nhà môi giới Kafka. Nếu bạn cũng muốn xóa bất kỳ dữ liệu nào khỏi môi trường Kafka cục bộ của bạn, bao gồm mọi sự kiện bạn đã tạo trên đường đi thì hãy chạy lệnh:
rm -rf /tmp/kafka-logs /tmp/zookeeper
Chúc mừng! Bạn đã cấu hình thành công nền tảng Apache Kafka trên Ubuntu. Thưởng thức!
FAQs
What is Apache Kafka used for?
Kafka is an open source software which provides a framework for storing, reading and analysing streaming data. Being open source means that it is essentially free to use and has a large network of users and developers who contribute towards updates, new features and offering support for new users.
Is Apache Kafka free?
Apache Kafka is free, and Confluent Cloud is very cheap for small use cases, about $1 a month to produce, store, and consume a GB of data.
Is Apache Kafka open source?
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. The source code of Ceph application is available at Github.
What language is Kafka written in?
Kafka started as a project in LinkedIn and was later open-sourced to facilitate its adoption. It is written in Scala and Java, and it is part of the open-source Apache Software Foundation.
Why Kafka is so fast?
Compression & Batching of Data: Kafka batches the data into chunks which helps in reducing the network calls and converting most of the random writes to sequential ones. It’s more efficient to compress a batch of data as compared to compressing individual messages.
Khám phá
Trong bài viết này, chúng tôi đã thảo luận về Apache Kafka. Để tìm hiểu về phần mềm hàng đợi tin nhắn (MQ) khác, vui lòng truy cập các trang sau:
Top 5 phần mềm hàng đợi thông báo nguồn mở