- Postgres Queue iyi olsa da ana akım olmamasının nedeni: diğer kuyruk teknolojilerinin daha büyük ölçeklenebilirlik sunduğuna dair yaygın düşünce
- webapp.io gibi şirketler, ölçeklenebilirlikten çok operasyonel sadeliğe, bakım kolaylığına ve aşinalığa önem vererek Postgres kuyruğunu seçti
- Postgres kuyruk teknolojisinin bileşenleri
- yeni işleri bildirme ve dinleme (
pub/sub) ile karşılıklı dışlama (row locks)
- bu ikisi, 2016'da çıkan Postgres 9.5'ten beri sağlanıyor
- Postgres'i bu şekilde kullanmanın "hackvari" olduğuna dair sektördeki yaygın düşünceye karşı çıkılıyor ve Postgres'in küçümsenecek bir kuyruk teknolojisi olmadığı savunuluyor
- Uzun süre çalışan işleri işlemek için kuyruk aracı olarak Redis, Apache Kafka, RabbitMQ, Amazon SQS gibi teknolojiler tercih edilegeldi
- Teknoloji sektörünün "ölçek" takıntısı eleştiriliyor; bunun uğruna sadelikten, bakım kolaylığından ve geliştiricinin bilişsel yükünü azaltmaktan vazgeçilmesi sorgulanıyor
- Yazar, teknik karar verirken hâlihazırda kullanılan ve iyi anlaşılan teknolojilerin de değerlendirilmesi gerektiğini öneriyor
- Zaten kullanılan ve iyi anlaşılan "sıkıcı teknolojileri" seçmeyi tavsiye ediyor
- "Çıkış yolunu inşa etmek" kavramı tanıtılıyor; yani iş işleme için uygulama kodunun kuyruktan bağımsız olması gerektiği anlatılıyor
- Yazar, başkalarını da Postgres kuyruk teknolojisini değerlendirmeye ve varsayılan tercih olarak "sıkıcı teknolojileri" benimsemeye teşvik ederek sonuca varıyor
1 yorum
Hacker News görüşleri
SELECT FOR UPDATE SKIP LOCKEDuygulamak, tüm ORM/Query DSL çerçevelerinde çalışan basit bir yaklaşımdır.LISTEN/NOTIFYkullanarak PostgreSQL'i bir pub/sub veri yolu olarak kullanmanın başlıca dezavantajı, LISTEN'in bir oturum özelliği olması nedeniyle statement düzeyinde connection pooling ile uyumlu olmamasıdır.