2016-02-02 17 views
12

Trường hợp sử dụng là: Tôi đã chạy một số ứng dụng java, tất cả đều phải tương tác với các chỉ mục khác nhau (mỗi chỉ mục có mục tiêu cụ thể). Ví dụ một ứng dụng A sử dụng các chỉ số A, B, C của ElasticSearch để truy vấn và cập nhật. Ứng dụng B sử dụng các chỉ số A, C, D (nói).Fluentd vs Kafka

Một số giao diện chung là bắt buộc để có thể quản lý tất cả các luồng dữ liệu này. Hiện tại tôi đang đánh giá Kafka và thông thạo cho mục đích này. Ai đó có thể giải thích điều gì sẽ phù hợp hơn cho tình huống này. Tôi đã xem xét các tính năng của cả Kafka và Fluentd và tôi thực sự không hiểu sự khác biệt ở đây. Cảm ơn rất nhiều.

Trả lời

29

kafka cung cấp thông báo xuất bản/đăng ký dưới dạng nhật ký cam kết được phân phối. Thông thường, bạn cài đặt kafka trên mỗi máy chủ nơi bạn cần tạo một số dữ liệu để được chuyển tiếp đến một nơi khác và tất cả các máy chủ đó sẽ cùng nhau tạo thành một cụm. Điều tốt ở đây là nếu vì một số lý do kết nối mạng trở nên không ổn định hoặc đi xuống, ứng dụng của bạn có thể tiếp tục sản xuất dữ liệu/nhật ký và chúng sẽ không bị mất. Ngược lại, nếu ứng dụng của bạn gửi trực tiếp nhật ký tới một số máy chủ ghi nhật ký tập trung từ xa, bạn có thể mất một số nhật ký trong thời gian mạng bị ngắt.

fluentd là tập trung bộ sưu tập nhật ký thường được cài đặt trên một máy chủ (hoặc nhiều hơn nếu bạn cần mở rộng theo chiều ngang). Nó kết nối với các nguồn dữ liệu từ từ xa, áp dụng tính năng lọc và gửi dữ liệu nhật ký hợp nhất tới từ xa bồn dữ liệu.

Từ tài liệu fluentd, bạn có thể thấy rằng fluentd cũng có thể consume data from kafkaproduce data towards kafka. Điều này một mình nên gợi ý rằng fluentd và kafka là trên các lớp khác nhau kể từ khi sử dụng sau này.

Sẽ hợp lý hơn đối với compare fluentd and logstash thực sự. Theo như fluentd là có liên quan, kafka chỉ là một nguồn dữ liệu và/hoặc dữ liệu chìm, nhưng họ là những con thú khác nhau hoàn toàn.

Nếu bạn muốn tốt nhất của cả hai thế giới, hãy sử dụng kafka làm đường dẫn dữ liệu đầu vào/đầu ra từ/đến ứng dụng của bạn và fluentd (hoặc logstash) làm hệ thống ghi nhật ký tập trung của bạn đọc từ các chủ đề kafka đó.

Nếu bạn muốn đọc thêm về chủ đề, bạn có thể đọc cách fluentd and kafka complement each other rất tốt, đọc chúng không cạnh tranh với nhau.

+4

Bạn thưa bạn, là một huyền thoại :) Cảm ơn rất nhiều. –

+2

Cảm ơn bạn, tôi luôn sẵn sàng trợ giúp;) – Val

+1

Vì lợi ích của mọi người, có thể người đã đánh giá câu hỏi và câu trả lời cung cấp một số nhận xét về lý do tại sao anh ấy làm điều đó. Xin vui lòng khai sáng chúng tôi ;-) – Val

Các vấn đề liên quan