Çoklu veritabanı tipleri için bağlantı havuzu tanımlarını merkezi olarak yönetir. Oracle, MySQL, PostgreSQL, MongoDB, Trino gibi farklı veritabanı tipleri için tek noktadan yapılandırma yapabilir, Connection Pool parametreleriyle yüksek trafikte kaynak tüketimini optimize edebilir ve ortam bazlı kimlik bilgisi yönetimi gerçekleştirebilir
Connection (Bağlantı) tanımlarını merkezi olarak toplayarak Integration Flow adımlarında tekrar kullanılabilir hale getirir.
Çoklu Veritabanı Desteği
Farklı veritabanı tipleri (Oracle, MySQL, PostgreSQL, MongoDB, Trino vb.) için tek noktadan yapılandırma sunarak yönetimi kolaylaştırır.
Performans Optimizasyonu
Connection Pool parametreleriyle yüksek trafikte kaynak tüketimini optimize eder ve tutarlı yanıt süresi sağlar.
Güvenli Yönetim
Ortam bazlı kimlik bilgisi ve JDBC URL yönetimiyle güvenli dağıtım ve denetim süreçlerini destekler.
Çalışma Prensibi
Bağlantı Başlatma
Integration Flow veya Connector içerisinden Database bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.
Connection Pool Yönetimi
C3P0 uyumlu pool stratejisiyle mevcut Connection havuzdan alınır; limit aşılırsa yeni Connection oluşturulur.
Kimlik Doğrulama
Kullanıcı adı/şifre veya environment değişkenine bağlanan credential setiyle Authentication gerçekleştirilir.
Veri İletişimi
JDBC veya Mongo URI üzerinden SQL/NoSQL komutları hedef Database sürücüsüne iletilir ve yanıt alınır.
Bağlantı Yönetimi
İşlem tamamlandıktan sonra Connection pool’a geri döner, uzun süre kullanılmayan bağlantılar kapatılır.
Hata Yönetimi
Bağlantı hatası, timeout veya authentication hatası durumunda deployment sonucu iletişim kutusu üzerinden ayrıntılı hata kaydı ve log yönlendirmesi sağlanır.
Kullanım Alanları
Integration Flow
API Gateway üzerinden transactional CRUD işlemleri gerçekleştiren Integration Flow adımları.
Connector Senaryoları
Mesaj tüketimi sonrası veritabanına yazım yapan Connector senaryoları.
Scheduled Job'lar
Scheduled Job tabanlı veri senkronizasyonu, raporlama ve arşivleme görevleri.
DevOps Projeleri
DevOps ekiplerinin ortama özel bağlantı setlerini test etmesi ve geçiş projeleri.
Oracle, MySQL, PostgreSQL, SQL Server, DB2, Sybase, Apache Hive/Impala, MongoDB ve Trino seçenekleri tek formda yönetilir.
Akıllı JDBC URL Üretimi
Veritabanı tipi değiştiğinde önerilen JDBC/URI şablonu otomatik doldurularak konfigürasyon süresi kısaltılır.
Environment Variable Entegrasyonu
JDBC URL, username ve password alanları environment değişkenleriyle maskeleme ve otomatik tamamlama desteği 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
İsim Çakışması Kontrolü
Gerçek zamanlı name exist servisiyle benzersiz Connection isimleri garanti edilir.
Çoklu Project Yönetimi
Global projeye taşıma fonksiyonu sayesinde connection paylaşımı yapılabilir.
Deployment Sonucu Gösterimi
Kaydetme, enable veya test sonrası ayrıntılı DeploymentResult diyalogu açılır.
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.
Açıklama: Connection adı (benzersiz olmalı)
Örnek Değer:Production_DBPoolNotlar: Boşlukla başlamaz, özel karakterler kullanılmamalı
Database Type
Açıklama: Desteklenen EnumDatabaseType değerlerinden biri
Örnek Değer:POSTGRESNotlar: Tür seçimi JDBC URL şablonunu belirler
JDBC / Connection URL
Açıklama: Hedef Database adresini içeren bağlantı dizesi
Örnek Değer:jdbc:postgresql://db-host:5432/coreNotlar: Environment değişkeni olarak seçilebilir
Use Credentials
Açıklama: Kimlik bilgisi gerekip gerekmediğini belirtir
Örnek Değer:trueNotlar: MongoDB ve çoğu JDBC sürücüsü için önerilir
Selected Environment
Açıklama: Connection’ın uygulanacağı yayınlanmış ortam
Örnek Değer:ProductionNotlar: Test Connection için seçilmesi zorunludur
Durum: Gateway içinden customer tablosuna yazma
Çözüm: POSTGRES, Pool Size=10, Test Checkout aktif
Beklenen Davranış: Düşük gecikmeyle ardışık INSERT işlemleri
Raporlama ETL
Durum: Scheduled Job gece raporu çekiyor
Çözüm: ORACLE, Idle Test=60000, Max Age=900000
Beklenen Davranış: Uzun sorgularda havuz stabil kalır
Mongo Audit Log
Durum: REST çağrılarını MongoDB’ye yazma
Çözüm: MONGODB, Credentials kapalı, URI’da kullanıcı bilgisi
Beklenen Davranış: Her belge yazımında tek bağlantı yeniden kullanılır
Trino Veri Harmanlama
Durum: Self-service analytics flow
Çözüm: TRINO, Pool Size=3, Timeout=45000
Beklenen Davranış: Trino koordinatörüne aşırı yük bindirilmez
DB2 Legacy Entegrasyon
Durum: Eski core bankacılık sistemi
Çözüm: DB2, Use Credentials=true, SSL/TLS açık
Beklenen Davranış: Transactional işlemler güvenli sürer
Geniş Ölçekli Queue Drain
Durum: Kafka tüketimi sonrası SQL Server’a toplu insert
Çözüm: SQL_SERVER, Pool Size=20, Increment=5
Beklenen Davranış: Çoklu tüketici thread’leri bloklanmaz
Sol menüden Connection → Veritabanı Connection Havuzu 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_DBPool
Benzersiz isim girin, boşlukla başlamaz.
Sistem otomatik kontrol eder. Yeşil tik: kullanılabilir. Kırmızı çarpı: mevcut isim.
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.
Dışa Aktarma (Export)
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}-db-connection-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-db-connection-Production_DBPool-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 (Import)
İçe Aktarma Adımları
Ana listede [Import Veritabanı Connection Havuzu] 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 Enabled durumda olduğundan emin olun.
Integration / Connector Adımlarında Kullanım
SQL veya NoSQL verisi gerektiren adımlarda Connection alanından Veritabanı Connection Havuzu seçilir. Örnek: “Database Query”, “Bulk Insert”, “Metadata Lookup” gibi adımlar.
Scheduled Job Kullanımı
Zamanlanmış ETL, raporlama veya temizlik görevlerinde connection seçilerek dış sistemlere erişim sağlanır. Job yeniden deploy edildiğinde connection güncel parametreleri kullanılır.
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, pooling ve credential değişikliklerinde hızlı doğrulama sağlar.
Connection Durum Yönetimi
View ekranından Enable/Disable butonları ile connection durumunu hızlıca değiştirebilirsiniz.
Kötü: Tüm veritabanları için Pool Size=1 bırakmak.
İyi: Trafiği ölçüp min/max değerlerini elle ayarlamak.
En İyi: Peak eşzamanlı istek ×1.5 kuralını uygulayıp Increment Count ile elastik ölçekleme sağlamak.
JDBC URL Yönetimi
Kötü: Host ve portu manuel yazıp ortamlarda değiştirmeyi unutmak.
İyi: Her ortam için ayrı URL girmek.
En İyi: Environment variable autocomplete kullanarak referans ile tek formu tüm ortamlara taşımak.
Kimlik Bilgisi Saklama
Kötü: Şifreyi düz metin girip paylaşmak.
İyi: Sadece production’da secret manager kullanmak.
En İyi: Tüm ortamlarda secret referansları kullanıp rotasyon planlamak.
Sürümler Arası Tutarlılık
Kötü: Test ve prod üzerinde farklı connection nesneleri yönetmek.
İyi: Export/Import ile kopyalamak.
En İyi: Tek connection’da environment seçici kullanıp JSON export’u versiyon kontrolüne almak.
Ortam Yönetimi
Kö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 Test
Kö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ı
Credential Rotasyonu
Şifreleri periodik olarak güncelleyin, değişiklik sonrası tüm ortamlarda Test Connection yaparak tutarlılığı doğrulayın.
Ağ Segmentasyonu
Connection tanımlarını sadece ilgili VPC/VNet’den erişebilen veritabanı uç noktalarına yönlendirin, gereksiz genel IP kullanmayın.
Yetki Matrisi
Veritabanı kullanıcılarına minimum yetki atayın; sadece gerekli şema ve işlemlere izin verin, DBA yetkili hesapları kullanmayın.
Kimlik Bilgileri Yönetimi
Kullanı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
Yanlış Environment Seçimi
Neden kaçınılmalı: Production verisine test ortamından erişim riski doğar.
Alternatif: Ortam açılır listesini kaydetmeden önce doğrulayın, isimlendirmede Prod_, Test_ önekleri kullanın.
Aşırı Pool Boyutu
Neden kaçınılmalı: Hedef Database üzerinde gereksiz oturum açılır, kaynaklar tükenir.
Alternatif: Trafik metriğine göre Max Pool Size belirleyin, monitoring ile güncelleyin.
Sertifika Doğrulamasını Atlamak
Neden kaçınılmalı: SSL/TLS kapalı olursa veriler düz metin taşınır.
Alternatif: JDBC URL’ye ssl=true ekleyin ve güvenilir CA sertifikası kullanın.
Production Connection'ı Test Ortamında Kullanma
Neden 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ğerleri
Neden kaçınılmalı: Ağ gecikmelerinde connection sürekli timeout olur, Entegrasyon adımları 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 Kullanmama
Neden 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.
Öneri: Yoğun SELECT/INSERT akışları için ayrı connection tanımları oluşturun.
Etki: Pool starvation riskini azaltır, yanıt süreleri dengelenir.
Okuma/Yazma Ayrımı
Öneri: Read replica ve primary DB için farklı Connection kullanın.
Etki: Replica performansı korunur, yazma işlemleri etkilenmez.
Hazır JDBC Şablonları
Öneri: Otomatik doldurulan JDBC URL’leri proje standardına göre düzenleyip template olarak saklayın.
Etki: Yeni bağlantı açma süresi kısalır, hata oranı düşer.
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.
Oracle, MySQL, PostgreSQL, SQL Server, DB2, Sybase, Apache Hive/Impala, MongoDB ve Trino bağlantıları aynı form üzerinden tanımlanabilir.
Ortama bağlı farklı credential kullanabilir miyim?
Evet, environment dropdown ve environment variable autocomplete ile her ortam için ayrı kullanıcı adı/şifre referansı verebilirsiniz.
MongoDB ve JDBC parametreleri aynı mı?
Hayır, MongoDB için URI alanı mongodb:// formatında çalışır ve Increment Count, Max Statements alanları otomatik gizlenir.
Havuz testleri hangi alanlarla kontrol edilir?
Test Connection On Checkout/Checkin checkbox’ları c3p0 sürücüsü kullanan JDBC tiplerinde aktiftir; MongoDB ve Trino’da devre dışıdır.
Deployment sonucu hatalarını nereden görürüm?
Save/Test işlemi sonrasında açılan DeploymentResult penceresinde hata mesajları, log bağlantıları ve geri dönüş eylemleri listelenir.
Aynı 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.
Connection 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.
Test 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.
Test Connection başarılı ama Integration Flow'da çalışmıyor, neden?
Birkaç neden olabilir:
Connection enable toggle’ı pasif olabilir
Integration adımında farklı bir connection seçili olabilir
Connection deploy edilmemiş olabilir
Integration Flow henüz redeploy edilmemiş olabilir
Connection'ı 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.