2014-11-26 13 views

cevap

8

Konuyu iletiye eklediğinizde, üreticinin API'sini (KeyedMessage message) yöntemini çağırın. Bu, mesajınızın anahtar ve değer içerdiği anlamına gelir. Bir konu oluşturduğunuzda, olmasını istediğiniz bölümlerin sayısını belirtirsiniz. Bu konu için "gönder" yöntemini çağırdığınızda, veriler anahtarınızın karma değerine bağlı olarak yalnızca belirli bir bölüme gönderilir (varsayılan olarak). Her bölümün bir kopyası olabilir, bu da her iki bölümün ve kopyalarının aynı verileri sakladığı anlamına gelir. Sınırlama, hem üreticiniz hem de tüketiciniz sadece ana kopya ile çalışır ve kopyaları sadece artıklık için kullanılır.

belgelerine bakın: http://kafka.apache.org/documentation.html#producerapi Ve temel eğitimi: Bir konu bir düğümün sınırlarının ötesinde büyüyebilsinler http://www.slideshare.net/miguno/apache-kafka-08-basic-training-verisign

+0

Anladım .. teşekkürler! –

4

Konular birden düğümler arasında bölümlenir. Bölümler hata toleransı için çoğaltılır. Çoğaltma ve lider devralma Kafka ve diğer brokerler/Flume arasındaki en büyük farklardan biridir. Apache Kafka site Gönderen:

Her bölüm "lider" ve "takipçi" olarak hareket sıfır veya daha sunucuları gibi davranan bir sunucu vardır. Lider, okunan tüm üyeler için yazma isteklerini idare eder ve takipçileri pasif olarak lideri tekrarlar. Lider başarısız olursa, takipçilerden biri otomatik olarak yeni lider olur. Her sunucu, bir bölümünün bölümünün bir kısmı ve diğerleri için bir takipçisi olarak hareket eder, bu nedenle yük küme içinde dengeli bir şekilde dengelidir.

+0

Teşekkürler .. çok güzel bir açıklama ... –

4

Kafka'nın diğer iki önemli özelliği de paralellik ve artıklıktır. Kafka, her bir konuya belirli sayıda bölüm ve kopya vererek bunu gerçekleştirir.

bölmeler

Bölme: Bir Kafka konunun tek parça. Bölüm sayısı, konu başlığına göre yapılandırılabilir. Daha fazla bölüm, konulardan okurken büyük paralellik sağlar. Bölümlerin sayısı, bir tüketici grubunda kaç tüketici olduğunu belirler. Örneğin, bir konu 3 bölümden oluşuyorsa, bölümler arasında bir tüketici grubu dengeleme tüketiminde 3 tüketiciniz olabilir. Bu şekilde 3'lük bir paralellik kazanırsınız. Bu bölüm numarası, ne kadar hızlı veri ürettiğinizi ve veriyi ne kadar hızlı tüketeceğinizi bilene kadar karar vermeniz biraz zordur. Yüksek hacimli olacağını bildiğiniz bir konu varsa, daha fazla bölümlere sahip olmanız gerekir.

taklit

yinelemeler: Bu bölümleri kopyalarıdır. Asla yazılmaz veya okunmaz. Onların tek amacı veri fazlalığı içindir. Konunuzun n kopyası varsa, n-1 aracıları herhangi bir veri kaybı olmadan başarısız olabilir. Ayrıca, bir konuya sahip olduğunuz broker sayısından daha büyük bir çoğaltma faktörü olamaz. Örneğin, 5 Kafka brokeriniz var, maksimum bir çoğaltma faktörü 5 ile bir konuya sahip olabilirsiniz ve herhangi bir veri kaybı olmadan 5-1 = 4 brokeri aşağı inebilir.

İlgili konular