Uyumluluk: Pactmark 0.2.x. HTTP adaptörü, Web standardı işleyiciler üzerinden tipli JSON komutları ve Server-Sent Events sunar.

Tasarımın tamamı tekrardır

Şekil 1. İstemci gördüğü son sırayı saklar. Yeniden bağlandığında depo, o noktadan itibaren kalıcı olayları yeniden oynatır ve sonra yenilerini takip eder. Hiçbir şey kaybolmaz ve hiçbir şeyin sonsuza kadar tamponlanması gerekmez.

Akışı tüketmek

Doğrudan çalışma zamanından:
lastSequence değerini yeniden bağlanma mantığınızın ulaşabileceği bir yerde saklayın. Sıfırdan yeniden bağlanan bir istemci koşunun tamamını yeniden oynatır — doğru ama israf; hiç işlemediği bir sıradan yeniden bağlanan bir istemcinin ise fark etmeyeceği bir boşluğu vardır.

Bağlantı kopması bir cevap değildir

Bu, en yaygın istemci hatasıdır: Sonlanma durumunu öğrenmek için sorun:
İşi gerçekten durdurmak için açıkça iptal edin:

Geri basınç bilinçli olarak sınırlıdır

Yavaş tüketiciler sınırlandırılır. Çalışma zamanı, okumayı bırakmış bir istemciyi beklerken akışın tamamını bellekte tutmak zorunda değildir — koşu hacmi büyüdükçe daha da önemli hâle gelen bir tasarım özelliği. Bir tüketici çok geride kalırsa afterSequence ile yeniden bağlanır ve depo kalıcı olaylardan yeniden oynatır. Kalıcı log, tamponun kendisidir.

Her isteğin kimliğini doğrulayın

Her komut ve her inceleme isteği kimlik doğrulamasından geçer. “Herkese açık koşu görünümü” diye bir şey yoktur.

Komutlar

Başlat, devam et, girdi gönder, karar ver, mutabakat yap, telafi et, iptal et — her biri doğrulanmış bir CommandContext ve idempotency anahtarıyla.

İnceleme

Koşu durumu, olaylar, artifact’lar, doğrulama ve kanıt — her biri verdiğiniz yetkiyle kapsamlandırılmış.
Idempotency anahtarlarınızı paralel bir mekanizma icat etmek yerine CommandContext’e eşleyin:
Bir commandId’yi farklı içerikle yeniden kullanmak KAF_HTTP_IDEMPOTENCY_CONFLICT üretir. Aynı içerikle yeniden kullanmak aynı sonucu döndürür — dengesiz bir ağın arkasında tam olarak istediğiniz şey budur.

Hattaki hatalar

HTTP hataları, kararlı bir KAF_* koduyla Problem Details kullanır. Koda göre dallanın, mesaja göre asla:
Yanıt gövdeleri, loglardan farklı bir açıklama seviyesi kullanır. Bir not-found yanıtı, başka bir tenant’ın kaynağının var olup olmadığını kasıtlı olarak söylemez — bkz. Hata başvurusu.

Host’un sahip olduğu yapılandırma

CORS, kimlik bilgisi modu, CSRF, istek ve gövde boyutu sınırları, süre sınırları, admission ve açıklama davranışı — hepsi host yapılandırmasıdır. Adaptör sizin için varsayılan seçmez, çünkü doğru cevap istemcinizin birinci taraf bir panel mi yoksa üçüncü taraf bir entegrasyon mu olduğuna bağlıdır.

HTTP başvurusu

Her rota, komut ve inceleme semantiğiyle.

Vercel dağıtımı

Rota adaptörünü bağlamak ve açık bir yanıtın neden arka plan worker’ı olmadığı.