Ana içeriğe atla

Genel Bakış

Merkezi Yönetim

Connection (Bağlantı), ActiveMQ broker’larına güvenilir erişim sağlayarak mesaj gönderme ve alma işlemlerini merkezileştirir.

Yeniden Kullanılabilirlik

Farklı Integration Flow adımlarında yeniden kullanılabilir bağlantı parametreleri sunarak yapılandırma tekrarını ortadan kaldırır.

Ortam Bazlı Yönetim

Ortam bazlı yönetimle Development, Test ve Production arasında tutarlı dağıtım (Deployment) süreçleri sağlar.

Performans ve Dayanıklılık

Gelişmiş timeout ve pool yönetimi sayesinde yüksek trafikli senaryolarda performans ve dayanıklılık kazandırır.

Bağlantı Başlatma

Integration Flow veya Connector içerisinden Message Queue bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.

Connection Pool Yönetimi

Aktif connection pool stratejisiyle önceden açılmış bağlantılar yeniden kullanılır; pool doluysa yeni connection oluşturulur.

Kimlik Doğrulama

Temel Authentication mekanizmasıyla (kullanıcı adı/şifre) veya opsiyonel SSL/TLS sertifika doğrulamasıyla broker’a kimlik doğrulaması yapılır.

Veri İletişimi

AMQP/TCP protokolü üzerinden Queue veya Topic hedefine JMS mesajları senkron/asenkron olarak iletilir ya da tüketilir.

Bağlantı Yönetimi

İşlem tamamlandığında bağlantı pool’a geri döner; pasif bağlantılar pool politikalarına göre kapatılır.

Hata Yönetimi

Bağlantı hatası, timeout veya authentication hatası durumunda hata ayrıntıları loglanır sistem otomatik yeniden deneme ve kullanıcıya uyarı mesajı üretir.

Asenkron Mesaj Kuyruğu

Uygulama bileşenlerinin ActiveMQ üzerinden asenkron mesaj kuyruğu işlemleri yürütmesi.

Güvenilir Mesaj Yayını

Queue veya Topic tabanlı entegrasyonlarda güvenilir mesaj yayını ve tüketimi.

Yüksek Hacimli Mesaj Senaryoları

İş zekâsı, bildirim veya entegrasyon servislerinde yüksek hacimli mesaj senaryoları.

Mikroservisler Arası İletişim

Mikroservisler arası iletişimde AMQP tabanlı olay paylaşımı.

Legacy JMS Entegrasyonu

Legacy JMS uygulamalarını modern Integration Flow adımlarına dahil etme.

Teknik Özellikler ve Yetenekler

Temel Özellikler

Protokol Esnekliği: AMQP veya TCP protokolü seçimiyle farklı ActiveMQ dağıtımlarına uygun bağlantı sağlar. Destination Yönetimi: Queue veya Topic destinasyonlarını tek ekran üzerinden yönetir, gerekli kimlik bilgileriyle birlikte saklar. Oturum Onayı Politikası: AUTO_ACKNOWLEDGE varsayılanı ile hızlı entegrasyon; CLIENT_ACKNOWLEDGE veya TRANSACTED ile gelişmiş kontrol sunar. Ortam Bazlı Yapılandırma: Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı. Enable/Disable Kontrolü: Connection’ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.

İleri Düzey Özellikler

Timeout Yönetimi: Bağlanma, istek yanıtlama ve mesaj gönderme süreleri milisaniye cinsinden hassas ayarlanabilir. İçerik Özelleştirme: Content-Type ve Content-Encoding alanlarıyla mesaj meta verisi standartlaştırılır. Client ID Tanımlama: JMS ClientID desteği sayesinde kalıcı abonelik veya dayanıklı tüketici senaryoları mümkün olur. Connection Test Özelliği: “Test Connection” butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı. Export/Import Özelliği: Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı. Connection Monitoring: Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.

Connection Parametreleri

Name

Açıklama: Connection adı (benzersiz olmalı)
Örnek Değer: Production_ActiveMQ
Notlar: Boşlukla başlamaz, özel karakterler kullanılmamalı

Broker URL

Açıklama: ActiveMQ broker erişim adresi
Örnek Değer: tcp://mq.prod.local:61616
Notlar: Protokol (amqp/tcp) ve port değerini içerir

Username

Açıklama: ActiveMQ erişim kullanıcı adı
Örnek Değer: mq_service_user
Notlar: Yetkilendirilmiş hesap kullanılmalı

Password

Açıklama: Kullanıcıya ait şifre
Örnek Değer: ********
Notlar: Şifre saklama için secret manager kullanılmalı

Destination Type

Açıklama: Queue veya Topic seçimi
Örnek Değer: QUEUE
Notlar: Enum değerleri: QUEUE, TOPIC

Destination Name

Açıklama: Mesaj kuyruğu veya topic adı
Örnek Değer: order.events.queue
Notlar: Namespace kuralına uyulmalı

ActiveMQ Connection Protocol Type

Açıklama: Kullanılacak bağlantı protokolü
Örnek Değer: AMQP
Notlar: Enum değerleri: AMQP, TCP

Session Acknowledgement

Açıklama: JMS oturum onay tipi
Örnek Değer: AUTO_ACKNOWLEDGE
Notlar: Enum değerleri: AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, SESSION_TRANSACTED, DUPS_OK_ACKNOWLEDGE

Environment Id

Açıklama: Ortam seçimi referansı
Örnek Değer: env-prod-01
Notlar: Ortam listesi Environment servisinden gelir

Send Timeout

Açıklama: Mesaj gönderimi için bekleme süresi
Varsayılan Değer: 60000
Önerilen Değer: 30000 - 120000 aralığında ihtiyaca göre

Request Timeout

Açıklama: Yanıt bekleme süresi
Varsayılan Değer: 60000
Önerilen Değer: Kritik işlemler için 45000

Close Timeout

Açıklama: Bağlantıyı kapatma süresi
Varsayılan Değer: 60000
Önerilen Değer: Uzun oturumlar için 90000

Connect Timeout

Açıklama: Broker’a bağlanma süresi
Varsayılan Değer: 60000
Önerilen Değer: Yüksek gecikmeli ağlarda 90000 ms

Content Type

Açıklama: Mesaj içerik tipi
Varsayılan Değer: application/json
Önerilen Değer: İş yüküne göre application/xml

Content Encoding

Açıklama: Mesaj karakter seti
Varsayılan Değer: UTF-8
Önerilen Değer: Standart UTF-8 kullanımı önerilir

Client ID

Açıklama: Kalıcı abonelik kimliği
Varsayılan Değer: durable-consumer-1
Önerilen Değer: Durable topic aboneliklerinde zorunlu

Timeout ve Connection Pool Parametreleri

Connection Timeout

Açıklama: Bağlantı kurulması için maksimum bekleme süresi
Varsayılan: 60000
Min: 1000 | Max: 180000
Birim: milisaniye

Request Timeout

Açıklama: İstek yanıtı için maksimum bekleme süresi
Varsayılan: 60000
Min: 1000 | Max: 180000
Birim: milisaniye

Pool Size

Açıklama: Connection pool’daki maksimum bağlantı sayısı
Varsayılan: 10
Min: 1 | Max: 200
Birim: adet

Send Timeout

Açıklama: Mesaj gönderiminin en uzun sürmesi beklenen süre
Varsayılan: 60000
Min: 5000 | Max: 180000
Birim: milisaniye

Kullanım Senaryoları

Sipariş Kuyruğu Tüketimi

Durum: Yeni sipariş mesajları ActiveMQ kuyruğuna düşüyor
Çözüm: Destination Type=QUEUE, Destination Name=order.events.queue, Protocol=AMQP
Beklenen Davranış: Integration Flow sipariş mesajlarını sıralı tüketir

Canlı Bildirim Yayını

Durum: Websocket bildirimleri topic üzerinden dağıtılacak
Çözüm: Destination Type=TOPIC, Destination Name=notifications.topic, ClientID=notif-producer
Beklenen Davranış: Tüm aboneler gerçek zamanlı bildirim alır

Yüksek Güvenlikli Broker

Durum: Production broker sadece SSL kabul ediyor
Çözüm: Protocol=TCP, Broker URL=ssl://mq.prod.local:61617, SSL sertifika ekleri
Beklenen Davranış: Şifreli bağlantı başarılı kurulur

Uzun Süreli İşlem

Durum: Batch job büyük mesaj paketleri gönderiyor
Çözüm: Send Timeout=120000, Request Timeout=120000, Pool Size=30
Beklenen Davranış: Mesaj gönderimi kesintisiz tamamlanır

Test Ortamı Simülasyonu

Durum: Test broker düşük kaynaklı
Çözüm: Pool Size=5, Request Timeout=45000, Content Type=application/json
Beklenen Davranış: Kaynak kullanımı optimize edilir, test stabil çalışır

Disaster Recovery

Durum: Yedek broker’a geçiş gerekliliği
Çözüm: Broker URL ikincil adrese güncellenir, Enable toggle ile aktif edilir
Beklenen Davranış: Trafik kesintisiz şekilde yedek broker’a kayar

Connection Yapılandırma

Yeni Apache ActiveMQ Oluşturma

Apache ActiveMQ Oluşturma Ekranı

Yapılandırma Adımları

1

Oluşturma Sayfasına Gitme

  • Sol menüden Connection → Apache ActiveMQ bölümüne gidin.
  • Sağ üstteki [+ Create] butonuna tıklayın.
2

Temel Bilgileri Girme

Enable Status (Aktif Durumu):Toggle ile aktif/pasif durumu ayarlayın. Yeni connection’lar varsayılan olarak aktiftir.Name (İsim) Zorunlu:Örnek: Production_ActiveMQ
  • Benzersiz isim girin, boşlukla başlamaz.
  • Sistem otomatik kontrol eder. Yeşil tik: kullanılabilir. Kırmızı çarpı: mevcut isim.
Description (Açıklama):Örnek: “Sipariş kuyruğu entegrasyonu”
  • Maks. 1000 karakter.
  • Connection’ın amacını açıklayın.
3

Environment (Ortam) Seçimi

  • Dropdown menüden ortam seçin: Development, Test, veya Production.
  • Her ortam için farklı connection parametreleri tanımlanabilir.
4

ActiveMQ Temel Parametreleri

  • Broker URL, ActiveMQ Connection Protocol Type, Destination Type, Destination Name alanlarını girin.
  • Broker URL’si AMQP/TCP şemasına uygun olmalı; destinasyon tipi Queue veya Topic olarak seçilmelidir.
5

Mesajlaşma Oturumu ve İçerik Ayarları

  • Session Acknowledgement tipini JMS stratejinize göre belirleyin. Opsiyonel olarak Content Type, Content Encoding, Client ID alanlarını doldurun.
  • Durable topic aboneliklerinde Client ID gereklidir.
6

Timeout ve Connection Pool Ayarları

  • Send Timeout, Request Timeout, Connect Timeout, Close Timeout değerlerini milisaniye olarak girin.
  • Yoğun trafik için pool boyutlarını ve süreleri optimize edin.
7

Güvenlik ve Authentication Ayarları

  • Username ve Password alanlarını doldurun. SSL/TLS gereksinimleri varsa broker URL’sini ssl:// ile yapılandırın ve gerekli sertifikaları Environment deposuna ekleyin.
8

Test Connection

  • [Test Connection] butonuna tıklayın.
  • Bağlantı parametrelerinin doğru olup olmadığını test edin.
  • Başarılı: Yeşil onay mesajı, Başarısız: Hata detayları gösterilir.
9

Kaydetme

  • Sağ üstteki [Save and Deploy] butonuna tıklayın.
Kontrol Listesi:
  • Benzersiz isim
  • Zorunlu alanlar dolu
  • Test connection başarılı (önerilir)
Sonuç:
  • Connection listeye eklenir.
  • Integration Flow ve Connector adımlarında kullanılabilir hale gelir.
  • Ortama göre aktif olur.

Connection’ı Silme

Connection’ı silmek için:

Yöntem 1: View Ekranından

  • Connection’ın view ekranına gidin.
  • Sağ üstteki [Delete] butonuna tıklayın.
  • Onay dialogunda silme işlemini onaylayın.

Yöntem 2: Liste Ekranından

  • Connection listesinde satır sonundaki menüsünden Delete seçeneğini tıklayın.
  • Onay dialogunda silme işlemini onaylayın.

Silme İpuçları

Silmeden Önce Kontrol Edin:
  • Integration Flow veya Connector adımlarında kullanılıyor olabilir.
  • Gerekirse alternatif bir connection atayın.
  • Silmeden önce Export ile yedek alın.

Alternatif: Deaktif Etme

  • Silmek yerine view ekranından [Disabled] butonunu kullanın.
  • Connection pasif olur ancak silinmez.
  • Gerektiğinde [Enabled] butonu ile yeniden etkinleştirilebilir.

Connection’ı Dışa/İçe Aktarma

Bu adımda kullanıcı, mevcut connection’ları yedekleme, farklı ortamlara taşıma veya paylaşma amacıyla dışa aktarabilir (export) ya da daha önce dışa aktarılmış bir connection’ı tekrar içe aktarabilir (import). Bu işlem, sürüm yönetimi, test ve üretim ortamları arasında geçiş veya ekipler arası paylaşım süreçlerinde veri bütünlüğünü korumak için kullanılır.

Yöntem 1: View Ekranından

  • Connection’ın view ekranına gidin.
  • Sağ üstteki [Export] butonuna tıklayın.
  • ZIP dosyası otomatik olarak indirilir.

Yöntem 2: Liste Ekranından

  • Connection listesinde satır sonundaki menüsünden Export seçeneğini tıklayın.
  • ZIP dosyası otomatik olarak indirilir.

Dosya Formatı

Format: {Date}-activemq-integration-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-activemq-integration-Production_ActiveMQ-export.zip

ZIP İçeriği

  • Connection JSON dosyası
  • Metadata bilgileri
  • Bağımlılık bilgileri (örneğin sertifikalar, key store)

Kullanım Alanları

  • Yedekleme
  • Ortamlar arası taşıma (Test → Prod)
  • Versiyonlama
  • Ekip veya proje bazlı paylaşım

İçe Aktarma Adımları

  • Ana listede [Import Apache ActiveMQ] butonuna tıklayın.
  • İndirilen ZIP dosyasını seçin.
  • Sistem kontrolleri: Format geçerli mi? İsim çakışması var mı? Bağımlılıklar mevcut mu?
  • Ardından [Import] butonuna tıklayın.

İçe Aktarma Senaryoları

Senaryo 1: İsim Çakışması → Eski connection’ın üzerine yazın veya yeni bir isimle oluşturun.Senaryo 2: Eksik Bağımlılıklar → Eksik sertifikaları veya key store’ları önce oluşturun veya import sırasında çıkarın.

Connection’ın Kullanım Alanları

Connection Oluşturma ve Aktif Etme

Adımlar:
  1. Connection’ı oluşturun.
  2. Test Connection ile bağlantıyı doğrulayın.
  3. Save and Deploy ile kaydedin ve etkinleştirin.
  4. Connection’ın Enabled durumda olduğundan emin olun.
  5. View ekranından connection bilgilerini görüntüleyebilirsiniz.

Connection Görüntüleme ve Yönetim

  • View ekranından connection’ın tüm yapılandırma bilgilerini görüntüleyebilirsiniz.
  • View ekranından Edit, Enable/Disable, Delete ve Export işlemlerini gerçekleştirebilirsiniz.
  • Connection durumunu anlık olarak kontrol edebilirsiniz.

Integration / Connector Adımlarında Kullanım

  • Mesaj kuyruğu (queue), topic, e-posta, FTP/SFTP, LDAP veya benzeri dış sistemlerle iletişim isteyen adımlarda connection seçilir.
  • Örnek: “Send Message”, “Consume Message”, “Upload File”, “Read Directory” gibi adımlar.
  • Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.

Scheduled Job Kullanımı

  • Zamanlanmış görevlerde (ör. belirli aralıklarla mesaj gönderme, dosya işleme vb.) bağlantı seçilerek dış sistemlere erişim sağlanır.
  • Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir.

Test Amaçlı Kullanım

  • Connection Test özelliği ile bağlantının doğruluğu Integration Flow’dan bağımsız olarak kontrol edilebilir.
  • Bu test hata ayıklama sürecinde kritik önem taşır.
  • View ekranından connection bilgilerini kontrol ederek test sonuçlarını doğrulayabilirsiniz.

Connection Durum Yönetimi

  • View ekranından Enable/Disable butonları ile connection durumunu hızlıca değiştirebilirsiniz.
  • Pasif connection’lar Integration Flow’larda kullanılamaz.
  • Durum değişiklikleri anında uygulanır ve connection listesinde görüntülenir.

Best Practices

Yapılması Gerekenler ve En İyi Uygulamalar

KategoriAçıklama / Öneriler
Destinasyon YönetimiKötü: Tüm iş yüklerini tek kuyruğa yönlendirmek.

İyi: Farklı iş türleri için ayrı Queue/Topic tanımlamak.

En İyi: Her iş tipi için kendi destinasyonunu kullanmak ve adlandırma standartlarını belgelemek.
Protokol SeçimiKötü: Varsayılan TCP kullanıp güvenlik gereksinimlerini göz ardı etmek.

İyi: İç ağda TCP, dış ağda AMQP tercih etmek.

En İyi: SSL/TLS destekli AMQP kullanarak şifreli iletişim sağlamak
Oturum Onayı PolitikasıKötü: Tüm akışlarda AUTO_ACKNOWLEDGE kullanmak.

İyi: Kritik işlemlerde CLIENT_ACKNOWLEDGE’e geçmek.

En İyi: Transactional akışlarda SESSION_TRANSACTED kullanıp başarısızlıkta rollback uygulamak.
Kimlik Bilgisi YönetimiKötü: Kullanıcı adı/şifreyi düz metin olarak saklamak.

İyi: Konfigürasyon dosyasında maskelemek.

En İyi: Secret Manager veya environment variable üzerinden dinamik olarak çekmek.
GözlemlenebilirlikKötü: Connection loglarını takip etmemek.

İyi: Temel hata loglarını izlemek.

En İyi: Pool, timeout ve broker metriklerini merkezi izleme sistemine göndermek.
Ortam YönetimiKötü: Tüm ortamlarda aynı connection parametrelerini kullanmak.

İyi: Her ortam için ayrı connection oluşturmak.

En İyi: Environment seçeneğini kullanarak tek connection’da tüm ortamları yönetmek, ortamlar arası geçişte sadece environment değiştirmek.
Connection TestKötü: Connection’ı test etmeden kaydetmek ve deploy etmek.

İyi: Kaydetmeden önce Test Connection ile doğrulamak.

En İyi: Her parametre değişikliğinden sonra test etmek, production’a geçmeden önce test ortamında tam entegrasyon testi yapmak.

Güvenlik En İyi Uygulamaları

Güvenlik AlanıAçıklama / Uyarılar
Broker Erişim YetkisiSadece ihtiyaç duyan servis hesaplarına izin verin. Role tabanlı politikalar uygulayın ve gereksiz kullanıcıları kaldırın.
Şifre YönetimiParolaları periyodik olarak yenileyin, minimum 16 karakter kullanın, yetkisiz paylaşımı engellemek için audit loglarını aktive edin.
Durable Subscriber KorumasıClient ID’leri benzersiz tutun, aynı kimliği birden fazla uygulamada kullanmayın; aksi takdirde mesaj kaybı oluşabilir.
Kimlik Bilgileri YönetimiKullanıcı adı ve şifre gibi hassas bilgileri environment variable veya secret manager kullanarak saklayın. Kimlik bilgilerini kod veya konfigürasyon dosyalarına hardcode etmeyin. Periyodik olarak şifreleri güncelleyin.
SSL/TLS KullanımıProduction ortamında mutlaka SSL/TLS aktif edin. Self-signed sertifikalar sadece development ortamında kullanın. Sertifika expiration tarihlerini takip edin ve zamanında yenileyin.
Erişim KontrolüConnection yapılandırmasını sadece yetkili kullanıcıların değiştirmesine izin verin. Connection değişiklik loglarını saklayın. Kritik connection’lar için değişiklik approval süreci uygulayın.

Kaçınılması Gerekenler

KategoriAçıklama / Uyarılar
Yanlış Destinasyon AdıNeden kaçınılmalı: Broker hedefi bulunamaz, mesaj kaybolur.

Alternatif: Destinasyon adlarını deployment pipeline’da doğrulayın.
Aşırı Pool BoyutuNeden kaçınılmalı: Broker tarafında kaynak tüketimi artar.

Alternatif: Trafiğe göre ölçümlenmiş pool boyutları belirleyin.
Standart Dışı EncodingNeden kaçınılmalı: Tüketiciler mesajı çözemeyebilir.

Alternatif: UTF-8 standardını koruyun, farklı encoding gerekirse koordinasyon sağlayın.
Production Connection’ı Test Ortamında KullanmaNeden kaçınılmalı: Test verileri production sistemine yazılabilir, gerçek kullanıcılar etkilenebilir, güvenlik riski oluşur.

Alternatif: Her ortam için ayrı connection oluşturun, environment parametresini kullanın, connection isimlerini ortama göre prefix ekleyerek ayırın (Test_, Prod_).
Çok Düşük Timeout DeğerleriNeden kaçınılmalı: Ağ gecikmelerinde connection sürekli timeout olur, istekler başarısız olur.

Alternatif: Gerçek kullanım senaryolarına göre timeout değerlerini ayarlayın, network latency’yi ölçün ve timeout’ları buna göre belirleyin.
Connection Pool KullanmamaNeden kaçınılmalı: Her istekte yeni bağlantı açılır, performans düşer, kaynak tüketimi artar, hedef sistem yükü artar.

Alternatif: Connection pool aktif edin, pool size’ı trafik hacmine göre ayarlayın, pool monitoring kurun.

Performans İpuçları

KriterÖneri / Etki
Broker Cluster EntegrasyonuÖneri: Failover URI yapısını (failover:(tcp://node1:61616,tcp://node2:61616)) kullanın.

Etki: Broker kesintilerinde otomatik yeniden bağlanma sağlanır.
Message ThroughputÖneri: Yüksek hacimli gönderimlerde Send Timeout ve Pool Size değerlerini artırın.

Etki: Mesaj kuyrukları birikmeden tüketilir.
Ack StratejisiÖneri: Kritik akışlarda CLIENT_ACKNOWLEDGE ile manuel kontrol sağlayın.

Etki: Mesaj kaybı riskini azaltır.
Connection Pool OptimizasyonuÖneri: Pool size’ı peak trafiğe göre ayarlayın (önerilen: eşzamanlı istek sayısı × 1.5), idle connection timeout’ları belirleyin, pool health check yapın.

Etki: Bağlantı açma maliyeti %80 azalır, yanıt süreleri düşer, kaynak kullanımı optimize edilir.
Timeout Değerleri OptimizasyonuÖneri: Gerçek network latency’yi ölçün, timeout değerlerini buna göre ayarlayın, çok düşük veya çok yüksek timeout’lardan kaçının.

Etki: Gereksiz beklemeler önlenir, hızlı fail-over sağlanır, kullanıcı deneyimi iyileşir.
Connection MonitoringÖneri: Connection pool kullanımını izleyin, timeout oranlarını takip edin, connection health check yapın, alerting kurun.

Etki: Sorunlar proaktif tespit edilir, performans darboğazları erken belirlenir, kesinti süresi azalır.

Sorun Giderme (Troubleshooting)

ProblemOlası NedenlerÇözüm Adımları
Broker’a Bağlanılamıyor- Yanlış Broker URL
- Güvenlik duvarı engeli
- Broker servisi kapalı
1. Broker URL ve port doğrulayın
2. Ağ erişimini test edin (telnet, nc)
3. Broker loglarını kontrol edin
Destination Bulunamadı- Queue/topic oluşturulmamış
- Yanlış isim girilmiş
- Yetki eksik
1. Broker yönetim konsolundan destinasyonu doğrulayın
2. Connection parametresini güncelleyin
3. Kullanıcı yetkilerini kontrol edin
Connection Timeout- Network gecikmesi
- Hedef sistem yavaş yanıt veriyor
- Timeout değeri çok düşük
1. Network connectivity kontrol edin
2. Hedef sistem sağlığını kontrol edin
3. Timeout değerlerini artırın
4. Connection loglarını inceleyin
Authentication Failed- Yanlış kullanıcı adı/şifre
- Expired credentials
- Yetki problemi
1. Kimlik bilgilerini doğrulayın
2. Hedef sistemde kullanıcının aktif olduğunu kontrol edin
3. Gerekli yetkilerin verildiğini kontrol edin
4. SSL/TLS sertifikalarını kontrol edin
Pool Exhausted- Pool size çok düşük
- Connection leak var
- Trafik çok yüksek
1. Pool size’ı artırın
2. Connection’ların düzgün kapatıldığını kontrol edin
3. Idle connection timeout’ları ayarlayın
4. Connection kullanım metriklerini izleyin
Connection Test Başarılı Ama Entegrasyon Akışı Hata Veriyor- Integration/Connector adımında farklı connection seçili olabilir
- Adım yanlış yapılandırılmış olabilir
- Flow/Job redeploy edilmemiş olabilir
1. Connection’ın enable toggle’ının aktif olduğunu kontrol edin
2. Integration Flow’da doğru connection’ın seçildiğini doğrulayın
3. Connection’ı tekrar deploy edin
4. Integration Flow veya Job’ı redeploy edin
5. Gateway loglarını kontrol edin

Sık Sorulan Sorular (SSS)

KategoriSoruCevap
GenelAynı broker içinde birden fazla destinasyonu tek connection ile yönetebilir miyim?Evet, aynı Apache ActiveMQ connection farklı Integration Flow adımlarında farklı destinasyonlarla birlikte kullanılabilir; her adımda hedef destinasyon konfigürasyonu ayrıca yapılmalıdır.
GenelConnection disable edildiğinde mesaj tüketimi tamamen durur mu?Disable edildiği anda bağlantı yeniden kullanılmaz, entegrasyon adımları hata döner veya bağlantı seçimini yapmaya zorlar.
TeknikAMQP’den TCP’ye geçiş için hangi ayarları değiştirmeliyim?ActiveMQ Connection Protocol Type değerini TCP yapın, Broker URL’yi tcp:// veya ssl:// şemasına güncelleyin, güvenlik duvarı portlarını kontrol edin.
TeknikDurable topic aboneliği nasıl aktive edilir?Destination Type=TOPIC, ClientID alanını benzersiz girin ve Integration Flow tarafında durable subscriber seçeneğini etkinleştirin.
KullanımQueue doluysa connection üzerinde otomatik retry yapılır mı?Broker tarafı hata dönerse ActiveMQ client yeniden deneme yapar; yine de uygulama loglarını takip edip kapasite planlaması yapmanız gerekir.
GenelAynı connection’ı birden fazla Integration Flow’da kullanabilir miyim?Evet, aynı connection birden fazla Integration Flow veya Connector adımında kullanılabilir. Bu merkezi yönetim sağlar ve konfigürasyon tutarlılığını garanti eder. Ancak connection’da yapılan değişiklikler tüm kullanım yerlerini etkileyeceği için dikkatli olunmalıdır.
TeknikConnection pool kullanmak zorunlu mudur?Connection pool kullanımı zorunlu değildir ancak yüksek trafikli sistemlerde şiddetle önerilir. Her istekte yeni bağlantı açmak yerine mevcut bağlantıları yeniden kullanmak performansı önemli ölçüde artırır.
KullanımTest ve Production için farklı connection’lar mı oluşturmalıyım?Evet, her ortam için ayrı connection oluşturmanız önerilir. Alternatif olarak environment parametresini kullanarak tek connection içinde tüm ortamları yönetebilirsiniz. Bu yaklaşım daha kolay yönetim ve daha az hata riski sağlar.
TeknikTest Connection başarılı ama Integration Flow’da çalışmıyor, neden?Birkaç neden olabilir: 1) Connection enable toggle’ı pasif olabilir, 2) Integration adımında farklı bir connection seçili olabilir, 3) Connection deploy edilmemiş olabilir, 4) Integration Flow henüz redeploy edilmemiş olabilir.
KullanımConnection’ı görüntülemek için nasıl bir yol izlemeliyim?Connection listesinde connection adına (Name) tıklayarak veya satır sonundaki menüden (⋮) View seçeneğini seçerek view ekranına gidebilirsiniz. View ekranında tüm connection bilgilerini görüntüleyebilir ve Edit, Enable/Disable, Delete, Export gibi işlemleri gerçekleştirebilirsiniz.
KullanımView ekranından connection’ı düzenleyebilir miyim?Evet, view ekranının sağ üst köşesindeki [Edit] butonuna tıklayarak düzenleme ekranına yönlendirilirsiniz. Düzenleme ekranında tüm parametreleri güncelleyebilirsiniz.

BROKER URL için Örnekler

AMQP URL Örnekleri

SenaryoURL ÖrneğiAçıklama
Basit Bağlantıamqp://localhost:5672En temel AMQP bağlantısı
Kimlik Doğrulamalıamqp://user:password@localhost:5672Kullanıcı adı ve şifre ile bağlantı
SSL/TLSamqps://secure-broker.example.com:5671Güvenli AMQP bağlantısı
Çoklu Brokeramqp://broker1:5672,amqp://broker2:5672Birden fazla broker’a bağlantı
Timeout Ayarlıamqp://localhost:5672?transport.connectTimeout=30000&transport.requestTimeout=30000Timeout değerleri belirlenmiş
SSL ve Failoveramqps://broker:5671?transport.trustStoreLocation=/path/truststore.jks&failover.maxReconnectAttempts=5SSL ve yeniden bağlanma ayarlı
Prefetch Ayarlıamqp://broker:5672?jms.prefetchPolicy.all=1000Mesaj ön yükleme ayarlı
Çok Özellikliamqp://broker:5672?jms.prefetchPolicy.all=1000&amqp.idleTimeout=30000&transport.connectTimeout=30000

TCP URL Örnekleri

SenaryoURL ÖrneğiAçıklama
Basit Bağlantıtcp://localhost:61616En temel TCP bağlantısı
Kimlik Doğrulamalıtcp://user:password@localhost:61616Kullanıcı adı ve şifre ile bağlantı
Timeout Ayarlıtcp://localhost:61616?soTimeout=30000&soWriteTimeout=30000Timeout değerleri belirlenmiş
Basit Failoverfailover:(tcp://broker1:61616,tcp://broker2:61616)Temel failover yapılandırması
SSL ilessl://secure-broker:61617?needClientAuth=true&keyStore=/path/keystore.jksSSL sertifikalı bağlantı
Performans Optimizasyonlutcp://localhost:61616?tcpNoDelay=true&socketBufferSize=65536Performans için optimize edilmiş
Yüksek Kullanılabilirlikfailover:(tcp://primary:61616,tcp://backup:61616)?maxReconnectAttempts=-1Yüksek kullanılabilirlik için ayarlanmış
Tam Failoverfailover:(tcp://broker1:61616,tcp://broker2:61616)?initialReconnectDelay=1000&maxReconnectDelay=30000&maxReconnectAttempts=5Detaylı failover ayarları
Üretim Ortamıfailover:(tcp://prod1:61616,tcp://prod2:61616)?randomize=true&priorityBackup=true&useExponentialBackOff=trueÜretim ortamı için optimize edilmiş

Önemli Parametreler ve Değerleri

Parametre TipiParametreÖrnek DeğerAçıklama
TimeoutsoTimeout30000Socket okuma timeout (ms)
TimeoutsoWriteTimeout30000Socket yazma timeout (ms)
FailovermaxReconnectAttempts5Maksimum yeniden bağlanma denemesi
FailoverinitialReconnectDelay1000İlk bağlanma gecikmesi (ms)
PerformanstcpNoDelaytrueTCP Nagle algoritması devre dışı
PerformanssocketBufferSize65536Socket buffer boyutu (bytes)
Prefetchjms.prefetchPolicy.queuePrefetch1000Queue için ön yükleme sayısı
Prefetchjms.prefetchPolicy.topicPrefetch1000Topic için ön yükleme sayısı
SSLneedClientAuthtrueClient sertifikası gerekli
SSLverifyHosttrueHost doğrulama aktif

Yaygın Kullanım Senaryoları

SenaryoProtokolÖnerilen URL
DevelopmentAMQPamqp://localhost:5672
DevelopmentTCPtcp://localhost:61616
TestAMQPfailover:(amqp://test1:5672,amqp://test2:5672)?failover.maxReconnectAttempts=3
TestTCPfailover:(tcp://test1:61616,tcp://test2:61616)?maxReconnectAttempts=3
ProductionAMQPamqps://prod:5671?transport.trustStoreLocation=/certs/truststore.jks&failover.maxReconnectAttempts=-1
ProductionTCPfailover:(tcp://prod1:61616,tcp://prod2:61616)?randomize=true&maxReconnectAttempts=-1
Yüksek GüvenlikAMQPamqps://secure:5671?transport.verifyHost=true&transport.trustStoreLocation=/certs/truststore.jks
Yüksek GüvenlikTCPssl://secure:61617?needClientAuth=true&keyStore=/certs/keystore.jks
Yüksek PerformansAMQPamqp://fast:5672?jms.prefetchPolicy.all=2000&amqp.maxFrameSize=1048576
Yüksek PerformansTCPtcp://fast:61616?tcpNoDelay=true&socketBufferSize=131072&wireFormat.maxFrameSize=104857600