RABBITMQ İLE JAVA VE SPRING EĞİTİMİ

RabbitMQ ile Java'da güvenilir mesajlaşma kurun

AMQP modeli, exchange türleri, Java client, Spring AMQP, mesajlaşma desenleri, ack/confirm, DLQ, quorum queue ve izleme.

RabbitMQ ile Java ve Spring AMQP'de mesajlaşmayı öğrenin: exchange türleri, work queue, pub/sub, RPC, manuel ack, publisher confirms, dead-letter, quorum queue ve izleme.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

RabbitMQ, Java client ve Spring AMQP ile mesajlaşma

Eğitim, RabbitMQ ile Java uygulamaları arasında güvenilir asenkron mesajlaşma kurmayı öğretir. AMQP modeli, direct/fanout/topic/headers exchange'leri ve Docker ile kurulum anlatılır. Java client ile queue, exchange, basicPublish/basicConsume, Spring AMQP ile RabbitTemplate ve @RabbitListener uygulanır. Work queue, pub/sub, routing, topic ve RPC desenleri, manuel ack, publisher confirms, dead-letter exchange, TTL ve yeniden deneme topolojisi, quorum queue, Prometheus ile izleme ele alınır.

Süre ve Format

3 Gün. Her gün dört modül; RabbitMQ Temelleri ve Java Client; Spring AMQP ve Güvenilirlik; Kümeleme ve Operasyon ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — RabbitMQ ile Java ve Spring AMQP ile mesajlaşma: exchange türleri, desenler, güvenilirlik, DLQ, kümeleme ve operasyon.

Öğrenme Metodu

Docker ile ayağa kaldırılan RabbitMQ üzerinde her desen önce Java client, ardından Spring AMQP ile yazılır; hata senaryoları bilinçli üretilir.

Neden Bu Eğitim?

📬Gevşek Bağlılık

Servisleri mesaj kuyruğuyla birbirinden bağımsızlaştırırsınız.

🛡️Güvenilir Teslimat

Ack, confirm ve DLQ ile mesaj kaybını önlersiniz.

📊Operasyon Bilgisi

Kuyruk derinliğini ve tüketici gecikmesini izlersiniz.

Anahtar Konular

rabbitmqrabbitmq javaspring amqprabbitmq eğitimimesaj kuyruğurabbitmq dead letterrabbitmq quorum queuerabbitlisteneramqprabbitmq spring boot
“Mesajı göndermek kolaydır; kaybetmemek ve iki kez işlememek tasarımdır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java ve Spring Boot

Temel Java ve Spring Boot bilgisi gerekir.

2
Docker

RabbitMQ'yu Docker ile çalıştırabilmek gerekir.

3
Araçlar

JDK 17+, Maven ve IDE kurulu olmalıdır.

4
Dağıtık Sistem Giriş

Senkron ve asenkron iletişim farkını bilmek faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı RabbitMQ'yu kurar ve Java client ile mesaj yayınlayıp tüketir.
Modül 1
AMQP ve RabbitMQ Temelleri
  • Mesaj kuyruğu kavramı ve asenkron entegrasyon
  • AMQP 0-9-1 modeli: producer, exchange, queue, binding, consumer
  • Exchange türleri: direct, fanout, topic, headers
  • Virtual host, kullanıcı ve izinler
  • Kurulum (Docker) ve Management UI
  • rabbitmqctl ve rabbitmqadmin komutları
Modül 2
Java Client Kütüphanesi
  • amqp-client ile ConnectionFactory ve Channel
  • queueDeclare, exchangeDeclare ve basicPublish
  • basicConsume ve DeliverCallback
  • prefetch (basicQos) ve adil dağıtım
  • Bağlantı ve kanal ömrü yönetimi
  • Otomatik kurtarma (automatic recovery)
Modül 3
Mesajlaşma Desenleri
  • Work queue: işçilere görev dağıtımı
  • Publish/Subscribe: fanout ile yayın
  • Routing: direct exchange ve routing key
  • Topic: desen eşleme ile abonelik
  • RPC deseni: reply-to ve correlation-id
  • Request/Reply ile Spring sendAndReceive
Modül 4
İzleme ve Operasyon
  • Management UI metrikleri ve kuyruk derinliği
  • Prometheus eklentisi ve Grafana panoları
  • Tüketici geride kalma (lag) ve uyarı
  • TLS, kullanıcı yetkileri ve en az yetki
  • Federation ve Shovel ile veri taşıma
  • Yükseltme ve bakım penceresi
Günün hedefiKatılımcı Spring AMQP ile topoloji kurar ve güvenilir teslimat sağlar.
Modül 1
Spring AMQP
  • spring-boot-starter-amqp ve yapılandırma
  • RabbitTemplate ile mesaj gönderme
  • @RabbitListener ile tüketici
  • Queue, Exchange, Binding bean'leri ile topoloji
  • Jackson2JsonMessageConverter ile JSON mesaj
  • SimpleRabbitListenerContainerFactory ayarları
Modül 2
Güvenilirlik: Ack, Confirm ve DLQ
  • Manuel ack/nack ve requeue davranışı
  • Publisher confirms ve returns (mandatory)
  • Kalıcı kuyruk ve persistent mesaj
  • Dead-letter exchange, TTL ve gecikmeli yeniden deneme
  • Zehirli mesaj (poison message) ve yeniden deneme limiti
  • Idempotent tüketici tasarımı
Modül 3
Spring ile Mesajlaşma Desenleri
  • Topic exchange ile @RabbitListener bindings
  • Request/Reply ve ReplyTo yapılandırması
  • Mesaj başlıkları ve özel MessagePostProcessor
  • Toplu tüketim (batch listener)
  • Eşzamanlı tüketici sayısı ve prefetch
  • RabbitMQ testi: @SpringRabbitTest ve Testcontainers
Modül 4
Uygulama: Sipariş Olay Hattı
  • Sipariş servisinin olay yayınlaması
  • Stok ve bildirim servislerinin tüketimi
  • Hata durumunda DLQ akışı
  • JSON sözleşmesi ve sürüm uyumu
  • Tüm akışın Docker Compose ile çalıştırılması
  • Yük altında kuyruk derinliği analizi
Günün hedefiKatılımcı yüksek erişilebilir RabbitMQ kurar, izler ve olay hattını tamamlar.
Modül 1
Kümeleme ve Yüksek Erişilebilirlik
  • Küme düğümleri ve Erlang cookie
  • Quorum queue ve klasik mirrored queue farkı
  • Streams giriş
  • Ağ bölünmesi (partition) davranışı
  • Yük dengeleyici ve istemci tarafı bağlantı listesi
  • Disk ve bellek alarmları, akış kontrolü
Modül 2
İleri Operasyon
  • Quorum queue oluşturma ve lider seçimi
  • Kuyruk politikaları ve max-length
  • Lazy/disk kullanımı ve mesaj boyutu
  • Federation ve Shovel uygulaması
  • Rolling upgrade planı
  • Yedekleme ve tanımlama dışa aktarma
Modül 3
Güvenlik ve Erişim Kontrolü
  • Kullanıcı, vhost ve izin üçlüsü (configure/write/read)
  • TLS yapılandırması
  • Topic izinleri ve kaynak kısıtları
  • Parola ve gizli bilgi yönetimi
  • Spring Boot'ta SSL bundle ile bağlantı
  • Denetim ve erişim loglama
Modül 4
Proje Tamamlama ve Arıza Senaryoları
  • Tüketici çökmesi ve mesajın yeniden teslimi
  • Broker düğümü kaybı ve quorum queue davranışı
  • Poison message ile DLQ yönetimi
  • Yük testi (PerfTest) ile verim ölçümü
  • Alarm eşiklerinin belirlenmesi
  • Mimari gözden geçirme ve sunum

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
AMQP Modeli

Exchange, queue ve binding ilişkisini açıklayabilirsiniz.

🧩
Java Client

basicPublish ve basicConsume ile mesajlaşma kurabilirsiniz.

⚙
Spring AMQP

RabbitTemplate ve @RabbitListener kullanabilirsiniz.

️
Mesajlaşma Desenleri

Work queue, pub/sub, routing ve RPC desenlerini uygulayabilirsiniz.

🔍
Güvenilirlik

Manuel ack ve publisher confirms yapılandırabilirsiniz.

🛠
DLQ

Dead-letter ve gecikmeli yeniden deneme topolojisi kurabilirsiniz.

️
Yüksek Erişilebilirlik

Quorum queue ile küme tasarlayabilirsiniz.

🧪
İzleme

Prometheus ve Management UI ile sistemi izleyebilirsiniz.

Kimler İçin Uygundur?

  • Servisler arası asenkron entegrasyon kuran Java
  • Spring geliştiricileri ile entegrasyon mimarları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Servisler arası asenkron entegrasyon kuran Java ve Spring geliştiricileri ile entegrasyon mimarları için uygundur.
RabbitMQ ile Kafka arasında fark nedir?
RabbitMQ akıllı yönlendirmeli mesaj aracısı, Kafka ise log tabanlı olay akışı platformudur; seçim kriterleri eğitimde tartışılır.
Exactly-once teslimat mümkün mü?
Pratikte at-least-once ile idempotent tüketici tasarlanır; eğitimde uygulanır.
Docker zorunlu mu?
RabbitMQ eğitimde Docker ile çalıştırılır.
Eğitim sonunda sertifika verilir mi?
Katılım ve değerlendirme sonrasında Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. RabbitMQ ile Java ve Spring Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMGetting Started with Gradle for Spring Boot Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Gradle for Spring Boot Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Spring Boot için Gradle eğitimi: build.gradle, Kotlin DSL, Spring Boot plugin, bootJar, bootBuildImage, çok projeli yapı, version catalog ve CI entegrasyonu.

Detayları Gör →
Java ve JVMGetting Started with Java: Operators Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Java: Operators Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java operatörleri eğitimi: aritmetik, atama, karşılaştırma, mantıksal, bitwise, shift, üçlü operatör, öncelik kuralları ve integer overflow örnekleriyle başlang

Detayları Gör →
Java ve JVMGetting Started with Java: Variables & Primitive Types Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Java: Variables & Primitive Types Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java değişkenleri ve primitive tipler eğitimi: int, double, char, boolean, referans tipler, String, wrapper sınıflar, tip dönüşümü ve değişken kapsamı ile başla

Detayları Gör →
Java ve JVMGetting Started with Java: Writing & Running Java Programs Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with Java: Writing & Running Java Programs Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Java ile program yazma ve çalıştırma başlangıç eğitimi: JDK kurulumu, javac ve java komutları, JShell, paketler, Scanner, IntelliJ IDEA ve jar paketleme.

Detayları Gör →
Java ve JVMGoogle Workspace Spring Updates Eğitimi
Yazılım Geliştirme Eğitimleri

Google Workspace Spring Updates Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Google Workspace güncellemeleri eğitimi: Gmail, Chat, Meet, Drive etiketleri, Docs akıllı çipler, Sheets tabloları, Gemini ve yönetici konsolu güvenlik ayarları

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn