Posts by Emre Bozlak

Zookeeper’lı ve KRaft’lı Kafka Kurulumu

Bu yazım içerisinde Kafka’nın kurulumu ve iyi uygulamalarından bahsedeceğim eğer Kafka nedir ve Kafka’nın terminolojisini öğrenmek istiyorsanız bir önceki yazımı okuyabilirsiniz.

Bu yazıdan kurulum olarak hem Zookeeper’lı Kafka kurulumu hem de Kafka 2.8 versiyonu itibariyle Zookeeper’a alternatif olarak Kafka’ya dahil ettiği KRaft’lı kurulum yönergelerinide paylaşacağım. Bunların kurulum adımları haricinde Kafka’nın kapasite planlaması, Kafka kümesinin kurulması, performans testleri, güvenlik ayarları ve farklı Kafka kümeleri arasında veri transferi konularında ciddi bir değişiklik olmamaktadır.

Senaryo:

Senaryo olarak iki farklı veri merkezine 3’er adet Kafka broker kurup veri merkezleri arasında senkronizasyonu sağlamaycağız. Tabii bunu yaparken Kafka’ların hem kendi veri merkezleri içerisinde yedekli olmasını garanti altına almak istiyor hem de Kafka üzerinde ACL, SSL gibi güvenlik önlemlerini almak istiyoruz.

Bu yazıda Kafka’nın kurulumunu tamamlayıp bir sonraki adımdaysa SSL kurulumu, SCRAM ayarları, MirrorMaker 2 ve performans testlerine odaklanıyor olacağım.

Son olarak Kafka’yı 3 adet Zookeeper ve sadece 2 adet Broker ile kurmak mümkün ama daha gerçekci bir senaryo oluşturabilmek için 3 adet Broker kurulumu yapıyor olacağım. Bunun iki sebebi var birincisi kümeleri planlarken birden fazla node’un devre dışı kalma ihtimaline göre planlama yapmak öbürüyse min-ISR değerini 2 yaptığınız taktirde tek bir node’u kaybettiğinizde kümeniz duracak, min-ISR 1 yaptığınız taktirde de veri yedekliliğini kullanamayacaksınız.

Continue reading

Service Mesh ve API GW nedir?

Eğer mikroservisler ile uğraşmaya başladıysanız service mesh ve API gateway kavramlarının sıkça konuşulduğunuz duyuyorsunuzdur. Mikroservisler, monolith uygulamaların ölçekleme, esneklik ve hızlı geliştirme/deploy etme konusunda ki kısıtlamalarına çözüm getirirken; servislerin yönetimi, uygulama geliştirme pratikleri ve servislerin hem bir birleri hem de dış dünyayla olan iletişimin düzenlenmesi anlamında yeni zorluklar doğurmuştur. API GW ve Service Mesh özellikle microservicelerin iletişimini düzenleyen hem de güvenliklerine katkıda bulunan ama rolleri sıkça karıştırılan iki bileşendir.

Aralarındaki farkı iyicene anlayabilmek için her birine detaylı bakalım.

Service mesh; servislerin bir birleriyle konuşmasını sağlayan mikroservislerin kendi aralarındaki iç trafiğini(east-west) yöneten bir alt yapı bileşenidir, network seviyesinde L4 ve L7’de çalışmaktadır.

Continue reading

Kafka Terminolojisi ve Mimarisi

Apache Kafka son yıllarda başta microservice olmak üzere yeni nesil mimarilerin ve büyük oranda veri ve/veya olay akışlarıyla çalışan uygulamaların temel bileşenlerinden biri haline gelmiş bir yapıdır.Bu yazı serisinde ilk önce Kafka’nın terminolojisi, mimarisi ve nasıl çalıştığından bahsedip, bir sonraki yazılarımda sırayla kurulum ve bazı iyi uygulama örneklerine değineceğim.

Kafka dağıtık, kolay ölçeklenebilir, hataya dayanıklı ve sürdürülebilirliği yüksek bir veri/olay akış aracıdır. Çok büyük miktarda veriyi eş zamanlı karşılamasının yanında veriyi üreten kaynaktan okuyup arkada tüketecek sisteme 10ms’nin altında aktarabilecek bir kapasiteye sahiptir. Peki, Kafka ne gibi senaryolarda kullanılmaktadır;

Continue reading

Health Check servisleri nedir?

Health Check nedir:

Health Check servisleri; uygulamanın sağlık durumunun kendisi tarafından ölçülebilmesini ve bunu dışarıyla paylaşmasını sağlayan, uygulamanın iç metriklerini kontrol eden bir servistir. Son yıllarda AWS, Azure gibi Public Cloud firmalarının sunduğu PaaS yapıları üzerinde uygulama barındırmanın yaygınlaşması ve microservislerin günlük operasyonlarımızı daha fazla işgal etmeye başlanmasıyla beraber sıcak bir konu haline gelmiş olsa da aslında uzun zamandır var olan; bir uygulama izleme ve performans ölçme yöntemidir.

Birçok izleme aracından/yönteminden farklı olarak tamamen bizim kendi uygulamamız için kendimizin geliştirdiği ve metriklerini belirlediği bir endpoint/servis olma özelliğini taşımaktadır. Kafanızda biraz daha canlandırmam gerekirse uygulama üzerindeki ki HC endpoint’i çağrıldığında (Örnek http://uygulalam/health) uygulamanın düzgün çalıştığını işaret eden bir ifade dönmektedir. Bu ifade kimi zaman basit bir “http 200“olabilirken, karmaşık bir iş süreci çalıştırarak dönen sonucu diğer sistemlerle karşılaştırarak sapma olup olmadığının sonucu olabilir. Buradaki kritik performans ve risk kriterleri tamamen size ve uygulamanızın türüne göre değişebilir.

Continue reading

BT Operasyon Modeli ve Kurumsal Mimari – Bölüm 2

Bir önceki yazımda operasyon modelinin BT’ler için ne anlama geldiği ve hangi bileşenlerden oluştuğundan bahsetmiştim, bu yazıdaysa bir operasyon modeli nasıl tasarlanır, başlıca adımları nasıldır ve kurumsal mimarinin bu süreç içerisindeki rolü nedir konularından bahsedeceğim. Daha önceki yazıda operasyon modeli bileşenlerini anlatırken Gartner’ın tanımını kullanmıştık, bu yazıda da aynı bileşenler üzerinden devam edeceğim ama süreç olarak kendi yöntemimden bahsediyor olacağım. Sizde kendi organizasyonunuz ve içinde bulunduğunuz ortama göre bu yöntemin bir kısmını kullanabilir veya tamamen kendinize uygun bir şekilde devam edebilirsiniz. Operasyon modelini bileşenlere ayırıp bu bileşenler üzerinden tasarımı yapmak bize hem esneklik sağlamaktadır hem de her seferinde tüm yapıyı düzenlemek yerine değişime uygun parçalara dokunarak değişimle beraber tüm modeli parça parça değiştirmek daha gerçekçi bir yaklaşım olacaktır.

Continue reading