Blog'a Dön

Bedrud Ortak Beyaz Tahtası Nasıl Senkronize Olur

LiveKit veri kanalları üzerinde Yjs CRDT — ayrı bir beyaz tahta sunucusu olmadan paylaşılan tahta.

10 Temmuz 2026 Bedrud Team engineering, whiteboard, webrtc, yjs

Çoğu video yığını beyaz tahtayı başka bir SaaS, başka bir WebSocket, izin listesine eklenecek başka bir origin olarak sonradan takar. Bedrud tahtayı toplantı odasının içinde tutar ve zaten sahip olduğunuz medya yolunu yeniden kullanır: LiveKit veri kanalları.

Ürün hedefi

İki (veya yirmi) kişi aynı katmanı açar, çizer, şekilleri taşır ve öğeleri siler. Herkes yaklaşık bir saniye içinde aynı sahneyi görür. Ayrılıp yeniden katılmak UI’yi çökme döngüsüne bırakmaz. Geç katılanlar yetişir.

Manuel kılavuzumuzda test ettiğimiz çubuk budur: çok kullanıcılı çizim, uzak seç/taşı/sil, kapattıktan sonra yeniden açma, ayrıldıktan sonra yeniden katılma.

Yığın seçimi

ParçaRol
Tuval UIExcalidraw tarzı araçlar (web uygulamasında vendored)
Paylaşılan durumYjs CRDT belgesi
TaşımaLiveKit reliable / lossy veri kanalları
Medya A/VDeğişmeyen WebRTC izleri

CRDT’ler eşzamanlı düzenlemelerin merkezi bir operasyonel dönüşüm sunucusu olmadan birleşmesine izin verir. LiveKit zaten sohbet tarzı yükler için veriyi çoğullar; beyaz tahta o yolu kullanır, böylece kendi barındıranlar ikinci bir gerçek zamanlı hizmet dağıtmaz.

Neden HTTP yoklaması değil?

Tahta darbeleri yüksek değişim ve gecikmeye duyarlıdır. API’yi yoklamak ya Go sürecini döver ya da hantal hissettirir. Veri kanalları:

  • Arama ile aynı katılımcı oturumunda kalır
  • Yan hizmet için ekstra CORS ve çerez karmaşıklığından kaçınır
  • Ayrı bir «beyaz tahta çevrimdışı» modu yerine oda bağlantısıyla birlikte başarısız olur ve toparlanır

Sohbet, sahne kontrol mesajları ve tahta güncellemeleri DC katmanında bir arada yaşayabilir; SFU medyası RTP’de kalır.

Kendi barındıranlar için derleme notu

Beyaz tahta web istemcisinde kod bölünmüş bir parçacıktır. Üretim derlemeleri tamamlanmalıdır (cd apps/web && bun run build), böylece biri tahtayı açtığında vendor parçacığı vardır. O parçacıkta 404, LiveKit yanlış yapılandırması değil paketleme hatasıdır.

Deneysel anahtar

Paylaşılan beyaz tahta Ayarlar → Deneysel altında kapılı olabilir; ev sahipleri kontrol çubuğu girişini istediklerinde açabilir. Son kullanıcı belgesi: Ortak Beyaz Tahta.

İddia etmediklerimiz

  • Kıtalar arası piksel mükemmel imleç kilidi
  • Her tahtanın sonsuza dek çevrimdışı öncelikli depolanması
  • Sunucu tarafı kalıcı tahta geçmişinin birinci sınıf ürün olması (bugün odak canlı oturum senkronu)

Deneyin

Bedrud’u dağıtın, gerekirse deneysel anahtarı açın, iki tarayıcıda bir oda açın ve çizin. Darbeler her iki tarafa da düşerse DC + Yjs yolu sağlıklıdır.

Medya düzleminin tam operatör ve mimari hikâyesi için WebRTC Bağlantısı ve Web Ön Uç bölümlerine bakın.