Rocky Linux 9 ile Olay Tabanlı Mimari (Event-Driven Architecture) Kurulumu Nasıl Yapılır? (Kafka, NATS)

Olay Tabanlı Mimari Nedir?

Olay Tabanlı Mimari, sistemlerin farklı bileşenleri arasında asenkron iletişim sağlayarak, bileşenlerin bağımsız çalışmasına olanak tanır. Bu mimaride, olaylar temel iletişim birimi olarak kullanılır. Bir bileşen bir olayı yayınladığında, diğer bileşenler bu olayı dinleyebilir ve gerekli olduğunda tepki verebilir. Bu yapı, sistemlerin ölçeklenebilirliğini ve esnekliğini artırır.

Rocky Linux 9’ın Özellikleri

Rocky Linux 9, Red Hat Enterprise Linux’un bir devamı olarak ortaya çıkmış bir işletim sistemidir. Stabilitesi, güvenliği ve topluluk desteği ile dikkat çeker. Olay Tabanlı Mimari uygulamaları için gerekli altyapıyı sağlamak amacıyla ideal bir platformdur.

Gerekli Araç ve Bileşenler

Kafka ve NATS, olay tabanlı mimari için popüler mesajlaşma araçlarıdır. Kafka, yüksek hacimli veri akışlarını işlemek için tasarlanmış açık kaynaklı bir dağıtık akış platformudur. NATS ise daha hafif ve hızlı bir mesajlaşma sistemi olarak öne çıkar. Rocky Linux 9 üzerinde bu iki bileşenin nasıl kurulacağı aşağıda detaylandırılmıştır.

Kafka Kurulumu

Kafka’yı kurmak için önce gerekli bağımlılıkların yüklenmesi gerekir. Java Geliştirme Kiti (JDK) gereklidir. Aşağıdaki komutlar ile JDK ve Kafka kurulumu gerçekleştirilebilir.

“`bash
sudo dnf install java-11-openjdk-devel
“`

Kafka’nın en son sürümünü indirmek için Apache Kafka’nın resmi web sitesine gidilir. İndirme işlemi tamamlandıktan sonra aşağıdaki komutla Kafka dosyası çıkarılır.

“`bash
tar -xzf kafka_2.13-3.1.0.tgz
cd kafka_2.13-3.1.0
“`

Kafka, bir Zookeeper bileşenine ihtiyaç duyar. İlk olarak Zookeeper’ı başlatmak için aşağıdaki komut kullanılır:

“`bash
bin/zookeeper-server-start.sh config/zookeeper.properties
“`

Zookeeper çalıştıktan sonra, Kafka sunucusu başlatılabilir.

“`bash
bin/kafka-server-start.sh config/server.properties
“`

Kafka ile İlk Üretici ve Tüketici

Kafka üzerinde olay üretmek ve tüketmek için bir konu (topic) oluşturulması gerekir. Öncelikle aşağıdaki komut ile bir konu oluşturulur.

“`bash
bin/kafka-topics.sh –create –topic test-topic –bootstrap-server localhost:9092 –partitions 1 –replication-factor 1
“`

Bu işlemden sonra, bir üretici başlatılarak olayı başlatabilir.

“`bash
bin/kafka-console-producer.sh –topic test-topic –bootstrap-server localhost:9092
“`

Termal içerisinde yazılan her satır, Kafka konusuna bir olay olarak kaydedilecektir. Olayları dinlemek için tüketici açmak gerekir.

“`bash
bin/kafka-console-consumer.sh –topic test-topic –from-beginning –bootstrap-server localhost:9092
“`

NATS Kurulumu

NATS, daha az sistem kaynağı tüketerek yüksek performans sağlayan bir mesajlaşma sistemidir. NATS’ın kurulumu için önce NATS sunucusunun en son sürümü indirilir. İndirme işlemi tamamlandığında, aşağıdaki komutla çıkarılır:

“`bash
tar -xzf nats-server-v1.12.0-linux-amd64.tar.gz
cd nats-server-v1.12.0-linux-amd64
“`

NATS sunucusu, aşağıdaki komut ile çalıştırılabilir.

“`bash
./nats-server
“`

NATS ile İlk Üretici ve Tüketici

NATS için bir üretici ve tüketici örnekleri oluşturmak amacıyla, NATS CLI kullanılabilir. İlk olarak, NATS için bir üretici başlatılır.

“`bash
nats-pub hello ‘Hello, NATS!’
“`

Sonrasında bir tüketici başlatılarak, yayınlanan mesaj dinlenebilir.

“`bash
nats-sub hello
“`

Performans ve Ölçeklenebilirlik

Kafka, yüksek hacimli veri akışlarını desteklemesi ve çeşitli konularda veri depolaması nedeniyle büyük ölçekli uygulamalarda tercih edilirken, NATS daha hafif bir alternatif olarak küçük ve orta ölçekli uygulamalar için uygundur. Her iki sistem de dağıtık bir yapı sunarak performans ve ölçeklenebilirlik açısından avantaj sağlar.

Sonuç

Rocky Linux 9, Kafka ve NATS ile olay tabanlı mimarinin kurulumu, modern uygulamalar için esnek ve ölçeklenebilir bir yapı sunar. Kullanıcıların ihtiyaçlarına göre uygun bileşenin seçilmesi, sistemlerde etkin bir veri iletişimi sağlamak açısından önemlidir. Olay tabanlı mimari, günümüz yazılım geliştirme süreçlerinde önemli bir yer tutmakta ve sistemlerin daha ölçeklenebilir ve esnek olmasına katkıda bulunmaktadır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR