Kavramlar

Mesajlar ve iletimler

Ne saklanır, ne kadar süreyle ve "en az bir kez" size neye mal olur.

Birbirinin yerine kullanılabilir görünen ama olmayan iki sözcük.

  • Mesaj, bir kaynaktan gelen tek bir yüktür.
  • İletim, o mesajı tek bir hedefe ulaştırma girişimidir.

Üç hedefe giden bir mesaj, bir mesaj ve üç iletimdir; her biri bağımsız olarak başarılı ya da başarısız olur. Bir hedefin kapalı olması diğer ikisini etkilemez.

Mesajlar geçicidir

Depolama konusunda bilinmesi gereken en önemli şey budur:

Merkez sizin arşiviniz değildir
Bir mesaj yalnızca iletimleri bitene kadar tutulur, sonra silinir. Göz atılacak bir mesaj geçmişi yoktur ve dünkü yükleri yeniden okumanın bir yolu yoktur. Kaydı tutan şey, sizin hedefinizin sakladığıdır.

Bu bilinçli bir tasarım tercihidir — Merkez bir borudur, veritabanı değil — ama pratik bir sonucu vardır: geçmişe ihtiyaç duymadan önce saklayan bir hedef kurun. Yarın ekleyeceğiniz bir hedef yarından başlar.

Kalıcı olan şey sayaçlardır. Analitik, proje ve entegrasyon başına alınan / iletilen / başarısız toplamlarını tutar; böylece yüklerin kendisi çoktan silinmiş olsa da hacmi ve hata eğilimlerini görebilirsiniz.

İletim: en az bir kez

Merkez her mesajın bir hedefe en az bir kez ulaşacağını garanti eder. Tam olarak bir kez değil — bu garanti, alıcının işbirliği olmadan bir ağ üzerinden sağlanamaz.

Pratikte hedefiniz zaman zaman aynı mesajı iki kez görecektir: mesajı kabul etmiştir ama onayı kaybolmuştur, Merkez de yeniden denemiştir.

Tekrarları ele almak

İletilen her mesaj bir idempotencyKey taşır — belirli bir gelen mesaj için sabittir; sağlayıcıdan, cihazdan ve sağlayıcının kendi mesaj kimliğinden türer:

SIGFOX:1A2B3C:DATA_BIDIR:18

Saklayın. Daha önce işlediğiniz anahtarları yok sayın. Protokolün tamamı budur.

İstisna, yalnızca sağlayıcının kendi alanlarını taşıyan ve bu yüzden anahtar içermeyen ham sağlayıcı çerçevesi çıktı biçimidir. Bu biçimdeki hedefler tekrarı sağlayıcı alanlarından ayırt etmelidir — Sigfox için cihaz artı sıra numarası. Bu gerçek bir ödünleşmedir; kazara değil bilerek seçilmelidir.

Yeniden denemeler ve ölü mektuplar

Başarısız bir iletim artan beklemelerle yeniden denenir. Sekiz başarısız denemeden sonra ölü mektuba düşer: deneme sayısıyla birlikte Ölü mektuplar sayfasında park eder.

Ölü mektuplar kaybolmuş değildir — beklemektedir. Sebebi düzeltin, sonra Yeniden gönder.

Yeniden gönderim güncel yapılandırmayı uygular
Yeniden gönderilen bir iletim, ilk başarısız olduğu andaki değil, bugünkü çıktı yapısıyla yeniden kurulur. Bozuk bir dönüşümü düzeltip yeniden göndermenin işe yaramasının sebebi budur.

Ne başarısızlık sayılır

Hedefin HTTP yanıtı karar verir. 2xx başarıdır; bunun dışındaki her şey — ya da zaman aşımı, ya da reddedilen bağlantı — başarısız bir denemedir ve yeniden denenir.

Yani gövdeyi sessizce atarken 200 döndüren bir hedef, buradan bakınca kusursuz görünür. İletimler yeşilken veri aşağıda eksikse, Merkez'den önce alıcıdan şüphelenin.

Sırada

İletim başarısız olduğunda
Teşhis, yeniden gönderim ve Analitik'i okumak.
Hedef ne alır
Beş biçim ve hangisi tekrar anahtarınızı korur.
Copyright © 2026