Yüksek bağlantı sayısı + sürekli mesaj trafiği için engine'i sağlamlaştırır; sınırsız bellek büyümesini (leak) kapatır; 1.0.0 engine parite issue'larını (oda/pairing/sanal adresleme) tamamlar. Ölçek/pool ayarı (config.ConnConfig, env-tunable, varsayılanlar yüksek): - OutboundBuffer 1024, MaxMessageSize 16 MiB, read/write buffer, ping/pong/write timeout'ları yapılandırılabilir. - gorilla WriteBufferPool (paylaşımlı sync.Pool) — yüksek bağlantıda büyük bellek tasarrufu. 150 bağlantı + ağır trafikte RSS ~43 MB. - Dolu buffer'da düşür-ama-kapatma → relay teslimat %99.98 (150 bağlantı). Leak düzeltmeleri (churn altında sınırsız büyüme yok): - Pairing ters-indeksi (pairedBy): disconnect'te X'e değen tüm pair kenarları O(derece) temizlenir; tek-yönlü bekleyen istek çöpü kalmaz. - Davet bekleme listesi: istemci waiting odalarını tutar, disconnect'te düşülür. - realloc artık farklı adres verir (önce al sonra bırak). #27/#28/#29 paritesi + ifexistsJoin; kapsamlı parite + leak testleri eklendi. go build/vet/test -race ./... yeşil (18 servis testi). Detay: decisions.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| Source | ||
| frontend | ||
| internal | ||
| loadtest | ||
| public | ||
| script | ||
| .gitignore | ||
| LICENSE | ||
| PORT-PROGRESS.md | ||
| README.md | ||
| REVIEW.md | ||
| decisions.md | ||
| go.mod | ||
| go.sum | ||
| index.js | ||
| main.go | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
README.md
MWSE Nedir?
MWSE yani Micro Web Socket Engine, kendisine bağlanan eşleri birbirleriyle ile eşleştirerek, eşler arası veri tünelleri oluşturan geniş ölçekli bir mikroservistir.
Servis, bağlantı sağlayan cihazların verilerini kendi aralarında senkron etmek için kullanılabilir, cihazları gruplayabilir, odalar oluşturabilir, sohbet ve görüntülü görüşme yazılımları için alt yapı olarak kullanılabilir
Bağlantı TCP tabanlı yüksek hızlı WebSocket protokolüne dayanır ve sunucunun cihazları sanallaştırması sayesinde diğer kişilerin IP adreslerini veya cihaz türü gibi bilgilere ihtiyaç duymadan düşük gecikmeli çift taraflı serbest iletişim kurmalarını sağlar.
Güvenlik !
Framework, bağlı tüm cihazlar arasında mesajları doğru hedefe, verinin bozulmadığını garanti ederek iletmekden sorumludur.
Bunların dışında hassas verilerin soket üzerinden iletilmesi şimdilik önerilmez, clientlerin ileteceği mesajlar SOKETE İLETİLMEDEN ÖNCE kullanıcılar tarafından manipüle edilebilir veya taklit edilebilir ve MWSE bunun doğrulamasını YAPMAZ

