İçeriğe geç
Teklif al

Hizmet · Bulut, DevOps ve veri

Apache Kafka kurulumu

Kafka'yı bir test makinesinde çalıştırmak kolaydır; zorluk, aynı kümenin üretimde mesaj kaybetmeden, disk dolmadan ve tüketiciler geride kalmadan yıllarca çalışmasıdır. Yanlış seçilmiş bölüm sayısı sonradan sıralamayı bozmadan değiştirilemez, tek kopyalı bir konu bir broker çöktüğünde veriyi götürür, şeması tanımsız mesajlar ise bir ekibin yaptığı küçük bir alan değişikliğiyle diğer ekibin servisini kırar.

Kategori
Bulut, DevOps ve veri
Çalışma modeli
Proje bazlı · Bakım ve destek · Danışmanlık
Hizmet bölgesi
Türkiye geneli, uzaktan ve yerinde

Apache Kafka kurulumu hizmetimizde işe kümenin taşıyacağı olayları ve bu olayların sahiplerini çıkararak başlıyoruz. Hangi konunun hangi anahtarla bölümleneceği, kaç kopya tutulacağı, ne kadar süre saklanacağı ve hangi servisin yazıp hangisinin okuyacağı yazılı bir tasarım belgesine dönüşür. Kurulum bu belgeye göre altyapı koduyla yapılır; böylece aynı küme test ortamında da birebir kurulabilir.

Devamını okuDaha az göster

Teslimden önce bir broker'ı bilerek kapatıp üreticilerin ve tüketicilerin nasıl davrandığını sizinle birlikte izliyoruz. İşletim el kitabı, izleme panoları ve alarm eşikleri ekibinize devredilir.

Apache Kafka kurulumuna ihtiyaç duyan yapılar

Kafka genellikle servisler arasındaki doğrudan çağrılar ya da gece çalışan toplu aktarımlar yetersiz kalmaya başladığında gündeme gelir.

  • Mikroservislerini sipariş, ödeme ve stok olayları üzerinden gevşek bağlı hâle getirmek isteyen yazılım ekipleri
  • Uygulama veritabanındaki değişiklikleri veri ambarına ve arama motoruna anlık aktarmak isteyen şirketler
  • Yüzlerce sunucudan ya da cihazdan gelen log ve telemetri verisini tek bir hatta toplamak isteyen işletmeler
  • RabbitMQ veya veritabanı tablosu üzerinden kurulmuş bir kuyruğun kapasitesine ve yeniden oynatma ihtiyacına yetişemeyen ekipler
  • Kendi kurdukları Kafka kümesinde disk taşması, sık yeniden dengeleme ya da açıklanamayan gecikmeler yaşayan kuruluşlar

Kafka projelerinde en sık rastlanan tasarım hataları

Kümede yaşanan sorunların çoğu kurulum gününde verilen ve sonradan geri alınması pahalı olan kararlardan doğar.

  • 01

    Bölüm anahtarının rastgele seçilmesi

    Aynı siparişe ait olayların sırayla işlenmesi gerekiyorsa anahtar sipariş numarası olmalıdır. Anahtarsız yazılan mesajlar bölümlere dağılır ve tüketicide sıra kaybolur; tersine, tek bir müşteriye yığılan anahtar bir bölümü sıcak noktaya çevirir.

  • 02

    Dayanıklılık ayarlarının varsayılanda bırakılması

    Replikasyon faktörü, en az eşzamanlı kopya sayısı ve üreticinin onay ayarı birlikte düşünülmezse broker kaybında onaylanmış mesajlar da kaybolabilir. Bu üç ayar her konu için verinin önemine göre belirlenir.

  • 03

    Şema yönetiminin olmaması

    Serbest biçimli JSON mesajlarda bir alanın adı değiştiğinde hata ancak tüketici tarafında ortaya çıkar. Avro veya Protobuf şemaları ve uyumluluk kuralları, kırıcı değişikliği daha yazma anında reddeder.

  • 04

    Saklama ve disk planının yapılmaması

    Günlük veri hacmi, saklama süresi ve kopya sayısı çarpılmadan disk boyutu belirlenirse küme bir gece dolar. Sıkıştırma türü ve yalnızca son değeri tutan sıkıştırılmış konular bu hesabı önemli ölçüde değiştirir.

  • 05

    Tüketici gecikmesinin izlenmemesi

    Broker'lar sağlıklı görünürken bir tüketici grubu saatlerce geride kalabilir. Grup bazında gecikme izlenmedikçe sorun, rapor ekranındaki eski veriyle fark edilir.

Apache Kafka kurulumu hizmetinin teslimatları

Kapsam, kümeyi kendi sunucularınızda mı yoksa yönetilen bir serviste mi çalıştıracağınıza göre şekillenir.

  • 01

    Konu ve bölüm tasarım belgesi

    Her konu için anahtar, bölüm sayısı, kopya sayısı, saklama süresi ve sahip ekip tablo hâlinde yazılır. Konu adlandırma kuralı da bu belgede sabitlenir.

  • 02

    KRaft modunda küme kurulumu

    Güncel sürümlerde ZooKeeper yerine Kafka'nın kendi denetleyici katmanı olan KRaft kullanılır. Denetleyici ve broker rolleri, sunucular ve erişilebilirlik bölgeleri arasında hata alanlarına göre dağıtılır.

  • 03

    Kimlik doğrulama ve erişim listeleri

    İstemci trafiği TLS ile şifrelenir, servisler SASL ile kimlik doğrular. Her servis yalnızca yetkili olduğu konulara yazabilir ya da okuyabilir.

  • 04

    Şema kayıt servisi ve bağlayıcılar

    Şemalar merkezi bir kayıt servisinde tutulur. Kafka Connect ile veritabanı, nesne depolama ve arama motoru bağlantıları kod yazmadan yapılandırılabilir hâle gelir.

  • 05

    İzleme, alarm ve işletim el kitabı

    Broker metrikleri, eksik kopyalı bölümler ve tüketici gecikmesi panolara bağlanır. Broker değiştirme, bölüm taşıma ve sürüm yükseltme adımları el kitabında yazılı olarak teslim edilir.

Kümeye veri yazan ve kümeden okuyan sistemler

Kafka tek başına değer üretmez; değerini çevresindeki sistemleri birbirine bağladığında gösterir.

  • 01

    Veritabanından değişiklik yakalama

    PostgreSQL, MySQL veya SQL Server'daki satır değişiklikleri Debezium gibi bir değişiklik yakalama aracıyla olay olarak konulara aktarılır; uygulama koduna dokunmak gerekmez.

  • 02

    Uygulama servisleri

    Java, .NET, Go, Node.js ve Python istemcileri için üretici ve tüketici ayarları, yeniden deneme ve tekrar eden mesajlara karşı idempotent yazma kurallarıyla birlikte belirlenir.

  • 03

    Analitik ve arama hedefleri

    Konulardaki veri, bağlayıcılarla veri ambarına, nesne depolamaya ya da Elasticsearch ve OpenSearch gibi arama motorlarına akıtılır.

  • 04

    Yönetilen Kafka servisleri

    Kendi sunucunuzu işletmek istemiyorsanız Amazon MSK, Confluent Cloud ya da Kafka protokolünü destekleyen Azure Event Hubs gibi seçenekler maliyet ve kısıtlarıyla karşılaştırılır.

  • 05

    Kubernetes ve izleme yığını

    Küme Kubernetes üzerinde çalışacaksa Strimzi gibi bir operatörle kurulur. Metrikler Prometheus ve Grafana'ya, loglar merkezi log sisteminize bağlanır.

Apache Kafka kurulumu hizmeti nasıl ilerler?

  1. Adım 01

    Analiz

    İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.

  2. Adım 02

    Tasarım

    Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.

  3. Adım 03

    Geliştirme

    Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.

  4. Adım 04

    Test

    İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.

  5. Adım 05

    Yayın

    Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.

  6. Adım 06

    Bakım

    İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.

Kafka işletiminde dikkat ettiğimiz noktalar

Bir Kafka kümesinin kapasitesini broker sayısından çok disk verimi ve ağ bant genişliği belirler. Bu yüzden boyutlandırmayı tahminle değil, gerçek mesaj boyutunuz ve yazma hızınızla yaptığımız yük testleriyle yapıyoruz. Sonuçlar, kümenin hangi noktada büyütülmesi gerektiğini gösteren eşiklerle birlikte belgeye eklenir.

Devamını okuDaha az göster

Kümeler arası kopyalama ihtiyacı varsa, örneğin ikinci bir veri merkezine ya da buluta aktarım gerekiyorsa, MirrorMaker 2 ile tüketici konumlarının da taşındığı bir yapı kurarız. Kişisel veri taşıyan konularda alan bazında maskeleme ve saklama süresinin KVKK kapsamındaki imha politikanızla uyumlu olması tasarım aşamasında ele alınır.

Sürüm yükseltmeleri broker broker, kesintisiz yapılacak biçimde planlanır ve önce test kümesinde denenir. Kurulumdan sonra işletimi kendiniz sürdürebilir ya da bakım ve destek anlaşmasıyla izleme ile yükseltmeleri bize bırakabilirsiniz.

Bu hizmette çalışma modelleri

  • 01

    Proje bazlı

    Sabit kapsam, sabit fiyat ve belirli teslim tarihi

    Kapsamı belli, teslim tarihi olan işler için.

    • Yazılı kapsam ve kabul ölçütleri
    • Sabit fiyat ve belirli teslim tarihi
    • Teslim ve kabul adımları sözleşmede
    Bu modelle teklif alın: Proje bazlı
  • 02

    Bakım ve destek

    Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati

    Yayındaki bir sistemin sürekliliği için.

    • Aylık sözleşme ve SLA
    • İzleme, güncelleme ve hata düzeltme
    • Aylık geliştirme saati
    Bu modelle teklif alın: Bakım ve destek
  • 03

    Danışmanlık

    Saatlik veya günlük teknik danışmanlık

    Karar, denetim veya yön belirleme gereken durumlar için.

    • Saatlik veya günlük çalışma
    • Yazılı rapor ve öneriler
    • Ekibinizle birlikte çalışma
    Bu modelle teklif alın: Danışmanlık

Apache Kafka kurulumu hakkında sık sorulan sorular

Apache Kafka kurulumu fiyatları neye göre belirlenir?

Belirleyici etkenler küme sayısı ve ortamlar, beklenen veri hacmi, güvenlik gereksinimleri, bağlanacak kaynak ve hedef sistem sayısı ile şema kayıt servisi ve Kafka Connect gibi ek bileşenlerdir. Ön görüşmede bu kalemleri netleştirip yazılı ve sabit kapsamlı bir teklif hazırlıyoruz.

Kendi sunucumuzda mı kuralım, yönetilen servis mi kullanalım?

Ekibinizde Kafka işletecek kimse yoksa ve verinin buluta çıkmasına engel bulunmuyorsa yönetilen servis çoğu zaman daha az yük getirir. Veri yerleşimi kısıtı, yüksek ve sürekli hacim ya da mevcut sunucu yatırımı varsa kendi kurulumunuz mantıklı olabilir; kararı iki seçeneğin işletim maliyetini yan yana koyarak veriyoruz.

Kafka yerine RabbitMQ yetmez mi?

Mesajın bir kez işlenip silinmesi yeterliyse RabbitMQ gibi bir mesaj kuyruğu daha sade bir seçimdir. Aynı olayı birden çok ekibin bağımsız okuması, geçmişe dönüp yeniden işleme ya da yüksek hacimli olay akışı gerekiyorsa Kafka'nın kalıcı log yapısı öne çıkar.

Mevcut ZooKeeper tabanlı kümemizi KRaft'a taşıyabilir misiniz?

Evet. Geçiş, kümenin sürümüne göre ara yükseltmeler ve denetleyici taşıma adımlarıyla planlanır. Önce aynı yapıdaki bir test kümesinde prova yapılır, ardından üretim kümesi bakım penceresinde adım adım taşınır.

Mesaj kaybı yaşamamak için neler yapıyorsunuz?

Kritik konularda birden fazla kopya, eşzamanlı kopya alt sınırı ve üreticide tüm kopyaların onayını bekleyen ayar birlikte kullanılır. Tüketicilerde konum, mesaj başarıyla işlendikten sonra kaydedilir; teslimden önce broker kapatma testleriyle bu davranış doğrulanır.

Apache Kafka kurulumu firması olarak kurulumdan sonra destek veriyor musunuz?

Evet. Bakım ve destek anlaşmasıyla izleme alarmlarına müdahale, kapasite takibi, sürüm yükseltmeleri ve yeni konu tasarımlarına destek veriyoruz. Yalnızca danışmanlık isterseniz kendi ekibinizin işlettiği kümeye düzenli gözden geçirme de yapabiliriz.

İlgili hizmetler ve sayfalar

Apache Kafka kurulumu için teklif alın

Kısa bir ön görüşmede ihtiyacınızı dinleyip kapsamı, çalışma modelini ve takvimi yazılı olarak paylaşırız.

+90 552 579 93 21