Rocky Linux 9 ile Mesaj Kuyruğu (Message Queue) Kurulumu Nasıl Yapılır? (RabbitMQ, Kafka)

Mesaj Kuyruğu Nedir?

Mesaj kuyruğu, uygulamalar arasında iletişimi sağlamak için kullanılan bir sistemdir. Uygulamalar, mesajları kuyruğa gönderir ve bu mesajlar başka bir uygulama tarafından alınarak işlenir. Mesaj kuyrukları, asenkron iletişimi ve ölçeklenebilirliği destekler. Bu sistem, yazılım mimarilerinin daha esnek ve yönetilebilir olmasına yardımcı olur.

RabbitMQ Kurulumu

RabbitMQ, popüler bir mesaj kuyruğu sistemidir ve AMQP (Advanced Message Queuing Protocol) protokolünü kullanır. RabbitMQ kurulumuna başlamak için, önce gerekli paketlerin güncellenmesi gerekir.

1. Sistem Güncellemesi

“`bash
sudo dnf update -y
“`

2. EPEL ve RabbitMQ Depolarının Eklenmesi

RabbitMQ için EPEL (Extra Packages for Enterprise Linux) deposunun eklenmesi gerekir.

“`bash
sudo dnf install epel-release -y
“`

Daha sonra RabbitMQ’nun resmi repositoriesini eklemek için aşağıdaki komutların çalıştırılması gerekmektedir.

“`bash
sudo dnf install https://dl.bintray.com/rabbitmq/rabbitmq-erlang/erlang/25.0/rpm/el/9/noarch/rabbitmq-erlang-25.0-1.el9.noarch.rpm -y
sudo dnf install https://dl.bintray.com/rabbitmq/rabbitmq-server/3.12.x/rpm/el/9/x86_64/rabbitmq-server-3.12.0-1.el9.x86_64.rpm -y
“`

3. RabbitMQ Servisinin Başlatılması

RabbitMQ servisini başlatmak için aşağıdaki komut kullanılır.

“`bash
sudo systemctl start rabbitmq-server
“`

Servisin her yeniden başlatıldığında otomatik çalışmasını sağlamak için aşağıdaki komut uygulanır.

“`bash
sudo systemctl enable rabbitmq-server
“`

4. RabbitMQ Yönetim Arayüzünün Aktif Hale Getirilmesi

RabbitMQ’nun web tabanlı yönetim arayüzü kullanışlıdır. Bunu etkinleştirmek için aşağıdaki komut çalıştırılır.

“`bash
sudo rabbitmq-plugins enable rabbitmq_management
“`

Yönetim arayüzüne erişmek için tarayıcıda aşağıdaki adres kullanılabilir.

“`
http://localhost:15672
“`

Varsayılan kullanıcı adı “guest” ve parolası “guest” dir.

Kafka Kurulumu

Apache Kafka, yüksek verimlilik sağlayan dağıtık bir mesaj kuyruklama sistemidir. Kafka kurulumu için şu adımlar izlenir:

1. Java Runtime Environment (JRE) Kurulumu

Kafka, Java ile çalıştığı için önce JRE kurulmalıdır. Aşağıdaki komut ile OpenJDK kurulumu yapılabilir.

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

Kurulumdan sonra Java versiyonu kontrol edilir.

“`bash
java -version
“`

2. Kafka’nın İndirilmesi

Apache Kafka’nın en son sürümü Apache’nin resmi sitesinden indirilebilir. Aşağıdaki komutla Kafka indirilir.

“`bash
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz
“`

İndirme işlemi tamamlandıktan sonra arşiv dosyası açılır.

“`bash
tar -xzf kafka_2.12-3.4.0.tgz
cd kafka_2.12-3.4.0
“`

3. Kafka ve Zookeeper Servislerinin Başlatılması

Kafka, Zookeeper’ı kullanır, bu nedenle öncelikle Zookeeper servisi başlatılmalıdır.

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

Daha sonra Kafka servisi başlatılır.

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

4. Kafka’ya Mesaj Gönderme ve Alma

Kafka’ya mesaj göndermek için yeni bir konu oluşturmak gerekir.

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

Mesaj göndermek için şu komut kullanılır.

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

Mesaj almak için ise aşağıdaki komut kullanılır.

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

PostgreSQL ile Entegrasyon

RabbitMQ ve Kafka, diğer sistemlerle en iyi şekilde entegre edilebilir. PostgreSQL, birçok uygulamada verilerin saklanması için kullanılır. RabbitMQ veya Kafka üzerinden mesajlar geldiğinde, bu verileri PostgreSQL’e yazmak için uygun kütüphaneler kullanılabilir. Python, Java veya Node.js gibi dillerde bu entegrasyonları kolayca sağlamak için kütüphaneler bulunmaktadır.

Güvenlik Önlemleri

Mesaj kuyruğu sistemleri kurulduktan sonra güvenlik önlemlerinin alınması önemlidir. RabbitMQ ve Kafka için kullanıcı yönetimi, kimlik doğrulama, SSL/TLS ile şifreleme gibi güvenlik önlemleri uygulanmalıdır. Bu tür uygulamalar, güvenli ve güvenilir bir iletişim altyapısı sağlar.

İzleme ve Yönetim

Mesaj kuyruklarının performansını izlemek için RabbitMQ ve Kafka’nın sunduğu izleme araçları kullanılmalıdır. RabbitMQ’nun yönetim arayüzü, kullanıcı ve performans izleme işlemleri için oldukça kullanışlıdır. Kafka içinse Prometheus ve Grafana gibi araçlar kullanılarak izleme yapılabilir. Bu tür araçlar, sistemi optimize etmek ve olası sorunları önceden tespit etmek için kritik öneme sahiptir.

Rocky Linux 9 üzerinde RabbitMQ ve Kafka kurulumu, mesaj kuyruğu sistemlerinin yönetimi ve izlenmesi, yüksek verimlilik ve güvenli bir iletişim sağlamak için gereken adımlar olarak öne çıkmaktadır. Bu sistemler, modern yazılım mimarilerinin temel taşları arasında yer almakta ve birçok uygulama için kritik öneme sahiptir.

CEVAP VER

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

SON İÇERİKLER

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