MediaService'ı birden fazla pod'dan doğrulayın ve iki tane çalıştırın

FeatureMediaService
Shiked
4 Eylül 2026 20:20 UTC
Yazar
Kamo
Commit
6ef1e59

MediaService sadece tek bir çoğaltma işletiyor, bu yüzden bir dağıtma ve toplam sohbet oldu. OOM aynıydı. Tüm kodda bulunan nedenlerden dolayı iki koşamadı: 1. THE STOMP BROKER IS IN-HEAP. SimpleBroker'un dönüştürülmesi anlamına gelir veSend yalnızca WebSockets'e ulaşır. Çağrı yapmak için pod'a bağlı. 13 röle kontrolörleri zaten bunu doğru şekilde ele geçirdi NATS'ye düz bir gönderici ile alt tarif (hayır kuyruk grubu, bu yüzden her pod her şeyi alır Mesaj) ve yerel olarak yeniden yayımlanmak. 13 diğer arama siteleri yapmadı - gösterge yazmak, varlığı, daha önce kötüges, cevap hibeleri, WebRTC teklif / cevap / soru / adres, gelen-chat bildirimleri – Ve her biri amaçlanan seyircinin yaklaşık yarısına teslim olurdu. StompFanout, bu röleleri zaten kullanan deseni genelleştirir: {destination, ödemeload} on Bir çekirdek NATS konusu, her pod onu kendi brokerine taşır. Core NATS, JetStream değil, Çünkü bunlar hiçbir değer yeniden oynanmıyor ve konuyla ilgili hiçbir akış yok. Çünkü temel NATS aynı zamanda yayıncıya da sunar, gönderme() yerel olarak da yazmıyor - bu Burada iki kez teslim olurdu. NATS aşağı ile yerel bir gönderiye geri düşer, bu da ne olduğu Platform daha önce yaptı. 2. THE PER-CONVERSATION CONSUMER WAS AN EXCLUSIVE DURABLE. ChatSessionSubscriptionManager ona adını verdi JetStream sohbet seansı GUID'den sonra kalıcı bir iter ve tüketici tam olarak bir tane kabul eder abone. İkinci pod'un bağlayıcısı [SUB- Muhasebe2] ve soketi olan her üye reddetti. Hiçbir şey almadı - hiçbir mesaj yok, makbuz okumuyor, hiçbir üye-added olay, hata yok. Şimdi bir ephemeral tüketici: çarpıtmak için bir isim yok, bir per pod, sunucu tarafından yeniden ortaya çıktı. Yeniden deneme bu, çarpışmada taze kalıcı bir isim icat etti. İşe yaradı ve sızdırıldı Sürekli sunucunun başı, hiçbir şeyin silinmediği bir çarpışmada tüketici. 3. FIVE MORE FIXED-NAME DURABLES, işe bağlı olarak ters tedaviye ihtiyaç duyuyor. Dönüşüm dönüşüm Ve VOIP STOMP röleleri, bir çekirdekten ziyade JetStream'dan geçti, bu yüzden aynısı vardı. exclusivity bug - şimdi ephemeral, her pod almak zorundadır. Sohbet-postalandırıcı, sosyal Inbound tüketici ve pazarlama dönüştürme tüketicisi tam olarak ONCE koşmalı, bu yüzden onları koruyorlar Sağlam ve teslim bir gruba katılın, bu da hayatta kalan bir pod öldüğünde işi alır. Medya rotasındaki sıkı seanslar gerekli değildir, Seçmeli değildir: bu STOMP müşterileri SockJS kullanıyor, xhr-streaming/xhr-polling fallback, bir bağlantı için ayakta duran birkaç HTTP isteğidir Oturum durumuna karşı, bir pod'un hafızasında yaşıyor. Round-robin onu kırıyor. See ingressroute.ya ml. 1 -> 2. 367 testleri geçer.

Tüm değişiklikler

Kargoyu gördüğünüz gibi?

İş alanınızda bu güncellemelerden her biri otomatik olarak. Ücretsiz başlayın ve haftadan sonra büyümesini izleyin.

Sonsuza Kadar Ücretsiz BaşlangıçFırsatları Görüntüle