2016-11-02 14 views
5

Birincil bölgemde (ABD-Doğu), kenar konumlarımızdaki trafiğe ilişkin verileri hesaplayan bir çalışanım var. Verileri bir kenar bölgeden birincil kafka bölgesine itmek istiyorum.Kafka mesajlarını kenar düğümlerimden itmenin en iyi yolu nedir?

Örnek: Polonya, Avustralya, ABD-Batı. Bütün bu istatistikleri ABD-Doğu'ya zorlamak istiyorum. Yazılar sırasında kenar bölgelerden ana bilgisayara ek gecikme sağlamak istemiyorum.

Başka bir seçenek, geçiş olarak çalışan başka bir kafka kümesi ve işçi oluşturmaktır. Bu, her bölgedeki bireysel kümelenmeleri sürdürmemizi gerektirecek ve dağıtımlarımıza daha fazla karmaşıklık katacaktır.

Mirror Maker'ı gördüm ama gerçekten bir şeyleri Aynalamak istemiyorum, sanırım bir röle sistemine daha çok bakıyorum. Bunu yapmak için tasarlanmış bir yol değilse, tüm uygulama metriklerimizi hesaplanacak ve sıralanacak ana bölgeye nasıl ayırabilirim?

Zaman ayırdığınız için teşekkür ederiz.

+0

Arıza giderme, merkezi bir Kafka kümesine geri mesaj göndermek için kenar düğümlerinizde çalıştırabileceğiniz bir şey mi arıyorsunuz? ya da her kenar düğümüne ulaşabilecek daha merkezi bir şekilde davranacak bir şey mi arıyorsunuz, bir güncelleme isteyin ve sonra bu güncellemeleri Kafka kümesine mi yayınlayacaksınız? – JDP10101

cevap

1

olarak bildiğim kadarıyla, burada seçenekleriniz şunlardır:

  1. Kurulum her bölgede yerel bir Kafka küme ve düşük gecikme yazıyor için kenar düğümleri kendi yerel Kafka kümeye yazma var. Burada 'dan, yerel Kafka'ınızdan veri toplamak için uzak Kafka'ya veri çeken bir ayna üreticisi kurarsınız.
  2. Uygulamalarınızı kesintiye uğratmak yüksek gizli engelleme istekleri içeren bir yol isteğiyle ilgileniyorsanız, üreticilerinizi uzak Kafka kümenize eşzamansız (engellemesiz) yazacak şekilde yapılandırmak isteyebilirsiniz. Programlama dil seçiminize bağlı olarak, bu basit veya karmaşık bir egzersiz olabilir.
  3. Uzak Kafka kümenize (yukarıda belirtildiği gibi) iten günlük dosyası ve arka plan programı kadar basit olabilecek bir ana makine geçişi (veya veri arabelleği) hizmeti çalıştırın. Alternatif olarak, tek bir örnek Kafka/Zookeeper kapsayıcıyı çalıştırın (her ikisini de bir araya getiren docker görüntüleri vardır).

Seçenek 1. bu problem için kesinlikle ağır bir çözüm olsa da kesinlikle en standart çözümdür. Gelecekte 3. seçeneği desteklemek için Confluent/Kafka milletlerinden çıkan daha fazla takım olacağından şüpheleniyorum.

1

İletileri diskin yerel bir günlük dosyasına yazın. Günlük dosyasını okuyan ve olayları ana kafka daemonuna iter küçük bir arka plan yaz.

Gecikme süresini uzatmak ve gecikme süresini sınırlamak için günlük dosyasını da döndürebilirsiniz. Daha sonra log dosyasını bir cronjob ile ana kafka bölgesine minnettarız. İthal cini oraya koşsun.

İlgili konular