Bağlantılar
Bağlantı Özellikleri
Bağlantı, bir dış sisteme erişim için gerekli bilgileri içeren yapılandırmadır. Bağlantılar bir kez tanımlanır ve birden fazla API Proxy veya görev tarafından kullanılabilir.
Bir bağlantı birden fazla API Proxy veya görev tarafından kullanılabilir
Bağlantılar merkezi olarak yönetilir ve güncellenir
Bağlantı bilgileri şifrelenmiş olarak saklanır
Bağlantılar test edilebilir ve doğrulanabilir
Bağlantı Kullanım Akışı
Aşağıdaki diyagram, bağlantıların API Proxy ve politikalar tarafından nasıl kullanıldığını gösterir:
sequenceDiagram
participant Client as 👤 İstemci
participant Gateway as 🚪 API Gateway
participant Proxy as 🔀 API Proxy
participant Policy as 🛡️ Politika/DB-2-API
participant Connection as 🔌 Bağlantı
participant ExternalSystem as 🖥️ Dış Sistem<br/>(DB, Kafka, Email, vb.)
Client->>Gateway: HTTP İsteği
Note over Gateway: İstek Gateway'e Ulaştı
Gateway->>Proxy: İsteği API Proxy'ye Yönlendir
Note over Proxy: API Proxy İşleme
Proxy->>Policy: Politika veya DB-2-API<br/>Çalıştırılır
Note over Policy: Dış Sistem Erişimi Gerekli
Policy->>Connection: Bağlantı Kullanımı<br/>(Merkezi Yapılandırma)
Note over Connection: Bağlantı Bilgileri<br/>(Şifrelenmiş)<br/>Host, Port, Credentials
Connection->>ExternalSystem: Güvenli Bağlantı<br/>Kurulur (SSL/TLS)
Note over ExternalSystem: Dış Sistem Türleri:<br/>Veritabanı (MongoDB, MySQL, vb.)<br/>Mesaj Kuyruğu (Kafka, RabbitMQ)<br/>E-posta (SMTP)<br/>Arama (Elasticsearch)
ExternalSystem->>Connection: İşlem Sonucu<br/>Döner
Connection->>Policy: Bağlantı Sonucu
Policy->>Proxy: Politika İşleme Tamamlandı
Proxy->>Gateway: İşlenmiş Yanıt
Gateway->>Client: HTTP Yanıtı
Note over Client,Gateway: İşlem Tamamlandı
Note over Connection,ExternalSystem: Bağlantı Havuzu<br/>Yönetimi ve<br/>Yeniden Kullanım
Bağlantı Türleri
Apinizer platformu çok çeşitli dış sistemlere bağlantı desteği sağlar:
Veritabanı Bağlantıları
MongoDB NoSQL veritabanı bağlantıları
MySQL veritabanı bağlantıları
PostgreSQL veritabanı bağlantıları
Oracle veritabanı bağlantıları
Microsoft SQL Server bağlantıları
IBM DB2 bağlantıları
Sybase veritabanı bağlantıları
Apache Hive veritabanı bağlantıları
Apache Impala veritabanı bağlantıları
Trino (PrestoSQL) veritabanı bağlantıları
Mesaj Kuyruğu Bağlantıları
Apache Kafka bağlantıları
RabbitMQ bağlantıları
Apache ActiveMQ bağlantıları
Arama ve Veri Bağlantıları
Elasticsearch cluster bağlantıları
LDAP/Active Directory bağlantıları
HTTP webhook bağlantıları
İletişim Bağlantıları
E-posta sunucu bağlantıları
FTP/SFTP sunucu bağlantıları
Linux script çalıştırma bağlantıları
Logging ve Monitoring Bağlantıları
Graylog GELF bağlantıları
Syslog bağlantıları
Logback logging bağlantıları
SNMP bağlantıları
Bağlantı Yapılandırması
Bir bağlantı oluştururken şu bilgiler tanımlanır:
Temel Bilgiler
- Bağlantı Adı: Bağlantıyı tanımlayan benzersiz isim
- Bağlantı Türü: Veritabanı, mesaj kuyruğu, vb.
- Açıklama: Bağlantı hakkında açıklayıcı bilgi (opsiyonel)
Bağlantı Bilgileri
- Host/URL: Sunucu adresi veya bağlantı URL'si
- Port: Bağlantı portu (bağlantı türüne göre değişir)
- Database Name: Veritabanı adı (veritabanı bağlantıları için)
Kimlik Doğrulama
- Kullanıcı Adı: Bağlantı için kullanıcı adı
- Şifre: Bağlantı için şifre (şifrelenmiş olarak saklanır)
- Kimlik Bilgisi Kullanımı: Kimlik bilgisi kullanılıp kullanılmayacağı
Gelişmiş Ayarlar
- Connection Pool: Bağlantı havuzu ayarları (min/max pool size, vb.)
- Timeout: Bağlantı zaman aşımı ayarları
- SSL/TLS: Güvenli bağlantı ayarları
- Deploy to Worker: Worker'a deploy edilip edilmeyeceği
- Enabled: Bağlantının aktif olup olmadığı
Bağlantı Kullanımı
Bağlantılar şu durumlarda kullanılır:
DB-2-API ile veritabanı sorguları yapılabilir
Veritabanı bağlantıları kullanılarak SQL sorguları çalıştırılabilir ve sonuçlar API yanıtı olarak döndürülebilir.
Task Flow'larda dış sistemlere erişim sağlanır
Task Flow'larda veritabanı sorguları, mesaj kuyruğu işlemleri, e-posta gönderme gibi işlemler için bağlantılar kullanılır.
Konnektörlerin dış sistemlere bağlanması için kullanılır
Konnektörler, bağlantıları kullanarak farklı sistemlere erişim sağlar ve veri alışverişi yapar.
Politikalar içinde dış sistemlere erişim için kullanılabilir
Bazı politikalar, bağlantıları kullanarak dış sistemlerle iletişim kurabilir.
Bağlantı Güvenliği
Önemli Güvenlik Notları:
- Bağlantı bilgileri (kullanıcı adı, şifre) şifrelenmiş olarak saklanır
- Production ortamlarında mutlaka güvenli bağlantılar (SSL/TLS) kullanılmalıdır
- Bağlantı bilgileri asla log dosyalarına yazılmaz
- Düzenli olarak bağlantı bilgileri güncellenmelidir
Bağlantılar, merkezi olarak yönetildiği için bir bağlantı bilgisi değiştiğinde, bu bağlantıyı kullanan tüm API Proxy'ler ve görevler otomatik olarak güncellenmiş bilgileri kullanır.
Bağlantı Yönetimi
Bağlantılar oluşturulduktan sonra:
- Test Edilebilir: Bağlantılar test edilerek doğrulanabilir
- Güncellenebilir: Bağlantı bilgileri güncellenebilir
- Silinebilir: Artık kullanılmayan bağlantılar silinebilir
- Ortam Bazlı: Bağlantılar belirli ortamlara (Environment) atanabilir
Bağlantıları oluştururken, bağlantı havuzu ayarlarını sistem yükünüze göre optimize edin. Küçük sistemler için düşük pool size, yüksek trafikli sistemler için yüksek pool size kullanın.