Mikro WebSocket Engine
Go to file
abdussamedulutas 441093bad6 #43/#44/#45: Notify (store-and-forward + suit) ve data-sync alt sistemleri
- internal/notify: store-and-forward (#43) + suit/yanıtlı (#44). Offline hedefe
  bırakılan mesaj bağlanınca teslim; trace id ile durum sorgulanır; suit cevabı
  3. taraf trigger'a manuel iletilir. TTL + hedef-başı sınır + janitor → leak yok.
- internal/datastore: active sync/collection (CRUD broadcast, arrival-time seq ile
  çakışma çözümü) + passive sync (dedupe merge pool) + temp/permanent datastore.
  Saf paket (ws bağımsız), servis katmanı I/O yapar.
- services.Register artık *Registry döndürür + ...Option alır (WithNotifyTrigger).
  main.go janitor'ları başlatır/durdurur. Eski Register(hub) çağrıları çalışır.

Testler: internal/notify, internal/datastore birim testleri + services
notify_test/datasync_test (offline teslim, suit reply+trigger, CRUD broadcast,
concurrent arrival-order, passive convergence, disconnect unsubscribe).
go test -race ./... yeşil.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 08:30:20 +03:00
Source Revision 2026-04-23 23:10:05 +03:00
frontend #33: EventPool WOM — askıda kalan promise düzeltmesi 2026-06-17 08:11:29 +03:00
internal #43/#44/#45: Notify (store-and-forward + suit) ve data-sync alt sistemleri 2026-06-17 08:30:20 +03:00
loadtest Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı 2026-06-17 07:09:36 +03:00
public Revision 2026-04-23 23:10:05 +03:00
script Revision 2026-04-23 23:10:05 +03:00
tools Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
.agent-prompt-port.txt Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
.agent-prompt.txt Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
.gitea-auth.example.json Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
.gitignore Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı 2026-06-17 07:09:36 +03:00
CLAUDE.md Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
LICENSE Initial commit 2022-11-16 20:31:27 +01:00
PORT-PROGRESS.md Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı 2026-06-17 07:09:36 +03:00
README.md README.md Güncelle 2024-03-19 01:15:08 +03:00
REVIEW.md #33: EventPool WOM — askıda kalan promise düzeltmesi 2026-06-17 08:11:29 +03:00
decisions.md #43/#44/#45: Notify (store-and-forward + suit) ve data-sync alt sistemleri 2026-06-17 08:30:20 +03:00
go.mod Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı 2026-06-17 07:09:36 +03:00
go.sum Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı 2026-06-17 07:09:36 +03:00
index.js Revision 2026-02-26 08:12:40 +03:00
main.go #43/#44/#45: Notify (store-and-forward + suit) ve data-sync alt sistemleri 2026-06-17 08:30:20 +03:00
package-lock.json Update packages #10 2023-11-04 20:37:49 +03:00
package.json Perfect nogation bugfixed 2025-07-14 23:22:37 +03:00
todo.md Ajan çalışma sözleşmesi + gitea CLI + yol haritası dosyaları 2026-06-17 08:08:05 +03:00
tsconfig.json D-TS 2023-05-16 10:49:36 +03:00

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.

Geliştirici Dökümanı

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

WebSocket topolojisi

image

Proje tarafından uygulanan load balance teknolojisi

image