Mesaj onayı
Mesaj onayı, bir teslimatın belirlenen kurala göre alındığını veya işlendiğini mesaj aracısına bildirir.
Mesaj onayı, mesaj aracısına bir teslimatı ne zaman tamamlanmış sayabileceğini bildirir. Onayı kimin kime gönderdiği ve uygulamanın hangi aşamada onay verdiği belirleyicidir.
RabbitMQ’da bir tüketici, basic.ack gibi elle gönderilen olumlu bir onayla işlediği teslimatı aracıya bildirir. Publisher confirm ise aracının mesajı kabulünü göndericiye onaylar. Bu, alıcı uygulamanın görevini bitirdiği anlamına gelmez.
Kaydetme ile onay arasındaki aralık
Kurgusal bir akışta hizmet, E-42 mesajını işler, gerekli veritabanı değişikliğini kalıcı olarak kaydeder ve ardından onay gönderir. Önce onay verir, kaydetmeden çökerse değişiklik eksik olmasına rağmen aracı teslimatı tamamlanmış sayabilir.
Ters yöndeki aralık da önemlidir: Değişiklik kaydedilmiş ancak onay kaybolmuşsa mesaj tekrar teslim edilebilir. RabbitMQ, manuel onay kullanıldığında bağlantı veya kanal kapandıktan sonra onaylanmamış mesajları yeniden kuyruğa alır. Bu nedenle hizmet, tekrar gelen mesajı aynı iş sonucunu iki kez oluşturmadan ele alabilmelidir.
RabbitMQ’da otomatik onay, uygulamadaki işin tamamlanmasını beklemez. Seçilen onaylama biçimi, iş kaybına karşı istenen korumaya uymalıdır. Tüketicinin onayı, sonraki bütün hizmetlerin veya harici bir bildirimin başarılı olduğunu da kanıtlamaz.
Kaynaklar
İlgili terimler
- Mesaj kuyruğuMesaj kuyruğu, bir tüketici işlemek üzere alana kadar mesajları tamponlar.
- Transactional InboxTransactional inbox, tekrar teslim edilen mesajların yerel işlemi yinelemesini önlemek için kalıcı mesaj kayıtları kullanır.
- Yeniden denemede rastgele gecikmeRetry jitter, bekleme sürelerini rastgele değiştirerek birçok istemcinin aynı anda yeniden istek göndermesini azaltır.
- Test kiracısıKiracılı uygulamada denetimler için kurulmuş, mantıksal olarak ayrılmış müşteri alanı.
- Webhook tekrar gönderimiWebhook tekrar gönderimi, bir bildirimin yeniden iletilmesidir. Eksik işlemi tamamlama ve tekrarlama saldırısı için farklı kontroller gerekir.
- İdempotency anahtarıİdempotency anahtarı, aynı isteğe ait yeniden denemeleri tanımlar. Etkisini kapsam, saklama süresi ve API kuralları belirler.
Bu konudaki yazılar








ASES ile API ve entegrasyon
ERP, CRM ve mağaza sorunsuz bağlantılı

