17 puan yazan xguru 2025-05-08 | 1 yorum | WhatsApp'ta paylaş
  • Rust + Tokio ile yazılmış PostgreSQL transaction pooling + sharding + load balancing aracı; yüzlerce veritabanını ve yüz binlerce bağlantıyı verimli şekilde yönetir
  • PgBouncer gibi çalışırken aynı zamanda sorgu analizi ve replikasyonu da destekleyen PostgreSQL odaklı uygulama katmanı (OSI L7) proxy’si
  • Kubernetes ve Docker ile kolayca dağıtılabilir; küme yapılandırması, load balancing, replikasyon ve çoklu shard yönetimini tek bir yapılandırmayla gerçekleştirebilir
  • Kendi mantıksal replikasyon yönetimi özelliğiyle birlikte, mevcut PostgreSQL kümesini kesinti olmadan sharding ile genişletebilir

Başlıca özellikler

  • Load balancing

    • Trafiği OSI Layer 7’de PostgreSQL sorgu bazında dağıtır
    • SELECT sorgularını replikalara, INSERT/UPDATE vb. işlemleri ise birincil düğüme otomatik yönlendirir
    • Stratejiler: round robin, random, least active connections vb. desteklenir
    • Hata durumunda gerçek zamanlı health check ve otomatik failover
  • Transaction pooling

    • PgBouncer’a benzer şekilde oturum/transaction düzeyinde pooling destekler
    • Yüz binlerce istemciyi birkaç PostgreSQL bağlantısıyla işleyebilir
  • Sharding ve replikasyon

    • SQL analiziyle shard key’yi çıkarır ve sorguyu ilgili shard’a otomatik iletir
    • Shard’lar arası sorgularda sonuçları bellekte birleştirerek kullanıcıya tek bir yanıt sunar
    • COPY komutunu da shard bazında bölerek işler
    • Mantıksal replikasyon desteği: mevcut DB’yi kesintisiz şekilde sharding ile genişletebilir
  • Gerçek zamanlı yapılandırma değişikliği

    • PgBouncer tarzı .toml yapılandırması kullanır; yeniden başlatmadan yapılandırma değişikliği yapılabilir
    • Kullanıcı bazlı kimlik doğrulama, veritabanı bazlı bağlantılar ve shard bilgileri yapılandırılabilir
  • İzleme

    • Standart PgBouncer yönetim portu + OpenMetrics desteği
    • Datadog entegrasyonu örnekleri ve dashboard içerir

1 yorum

 
kaydash 2025-05-08

Multi-master yapılandırmada patroni kullanıyorum
Okuma isteklerinin yoğun olduğu bir yapıysa maxscale gibi denenebilir