2016-03-21 12 views
1

Kafka, merkezi bir düğüme gelen çok sayıda bilgi akışınız varsa gerekli olsa da, hepsinin Hadoop veya Spark'da işlenmesi gerekiyor mu? Farklı bilgi türlerini filtrelemeye gerek olmadığı için, Kafka'nın mesajların üstesinden gelme yeteneği gereksiz görünüyor. Başka bir deyişle, Bir Sistemin çoğuna sahip olmak istiyorsanız, birden fazla Üretici tek bir Tüketici için Kafka ihtiyacını ortadan kaldıracak mıdır?Kafka'yı çoklu giriş ve tek çıkışlı mı kullanıyorsunuz?

cevap

1

Kafka genellikle Spark Akışı uygulamalarında kullanılır. Spark-Streaming uygulamalarında kullanılmasının nedeni, alıcının düşmesi durumunda veri kaybını garanti etmemesidir. Eğer veriler hâlihazırda dolandırıcılık kümesindeyse ve kıvılcım ile kıvılcım işlerini yapıyorsanız, kafka'nın kıvılcımla arayüz yapmasına gerek yoktur.

+0

RabbitMQ gibi bir şey, verileri işlemek için kümelemek üzere bir kuyruk oluşturmak için daha anlamlı olur mu yoksa toplu işler için bilgileri düzenlemek için kullanılan belirli bir araç var mıdır? – Rob

+1

RabbitMQ, 0MQ, benzer kuyruk sistemleri ve Kafka arasındaki temel farklardan biri, Kafka'nın bir taahhüt kütüğü olarak tasarlanması ve bir kuyruk olarak kullanılmasıdır. Bu, mesajlar tüketicilerden okunduğunda bile belli bir süre saklanır. Mesajlar, sırasıyla kayıp ve yüksek yükleri işlemek üzere çoğaltılır ve dağıtılır. Kafka, farklı sistemlere bağlanmasına izin veren birçok dilde farklı uygulamaların sayısı için genellikle iyi bir seçimdir. Bu nedenle, bu sorulara cevap vermemek için Kafka gerekli değildir. – PinoSan

+1

@PinoSan haklı. Spark ile çalışmaya başlamadan önce verileri sıraya sokmak için bir nedeniniz var mı? Aktarım uygulamasının bir tür benzetimini yapmaya çalışmadığınız sürece verileri başka bir sistemde Spark ile beslemek istediğiniz bir kullanım durumu göremiyorum. –

İlgili konular