River - Go + Postgres için hızlı ve sağlam bir Job Queue
(brandur.org)- Uygulama verileri ve iş kuyruğu için aynı veritabanının (Postgres) kullanılmasını öneriyor. Bağımlılıkları en aza indiriyor
- İşleri, diğer veritabanı değişiklikleriyle birlikte işlemsel olarak kuyruğa alarak dağıtık sistemlerdeki tüm bir problem sınıfını önleyebiliyor
- Transactional enqueueing: işler, transaction commit edildiğinde kuyruğa alınır; transaction rollback edilirse kaldırılır ve commit edilene kadar işlerin görünmemesi garanti edilir
- Postgres'in
NOTIFYözelliğini kullanarak, iş hazır olur olmaz iş kuyruğu worker'ları uyandırıp işi başlatabiliyor; böylece iş başlamadan önceki ortalama gecikme milisaniye seviyesine düşüyor - Postgres'in ikili protokolünü kullanıp veritabanıyla yapılan round trip sayısını en aza indirerek verimliliği artırıyor
- Bulk Job Insert,
COPY FROMkullanılarak verimli şekilde gerçekleştiriliyor
- Bulk Job Insert,
Henüz yorum yok.