EGekremgungor.dev_

REAL-TIME MESSAGING · v1.0.0

Siglora

Güvenli kimlik doğrulama, dayanıklı yeniden bağlantı ve çoklu istemci varlık yönetimi sunan uçtan uca gerçek zamanlı mesajlaşma ürünü.

ROLUçtan uca ürün geliştirme
DURUMv1.0.0 yayınlandı
ODAKRealtime · Reliability
[ 01 / OVERVIEW ]

Ürün yaklaşımı

Siglora; REST tabanlı mesaj geçmişi ve gönderim akışını SignalR ile canlı güncellemelerle birleştiren, portföy için production yaklaşımıyla geliştirilmiş bir mesajlaşma uygulamasıdır.

[ 02 / CHALLENGE ]

Problem

HTTP yanıtı ile SignalR yayınının aynı mesajı iki kez göstermesi, API kesintisinden sonra istemcinin yeniden bağlanamaması ve aynı kullanıcının birden fazla sekmede açık olması halinde çevrim içi durumunun erken kapanması temel problemlerdi.

[ 03 / SOLUTION ]

Çözüm

Tekil mesaj kimlikleriyle istemci tarafı birleştirme, sınırsız ve kontrollü yeniden bağlantı döngüsü, bağlantı sayısını izleyen sunucu tarafı presence tracker ve tek tip mesaj sözleşmesiyle bu senaryolar tutarlı hale getirildi.

[ 04 / ENGINEERING ]

Öne çıkan mühendislik kararları

  1. 01

    JWT tabanlı HttpOnly cookie kimlik doğrulaması

  2. 02

    SignalR ile canlı mesaj ve çevrim içi kullanıcı güncellemeleri

  3. 03

    Redis tabanlı son mesaj geçmişi ve kullanıcı mesaj kotası

  4. 04

    ProblemDetails ve FluentValidation ile standart API hataları

  5. 05

    Çoklu sekme ve bağlantı için güvenilir presence yönetimi

  6. 06

    Backend ve frontend kalite kontrollerini çalıştıran CI süreci

[ 05 / ARCHITECTURE ]

Katmanlar ve sorumluluklar

Web Client

React, TypeScript, Vite ve dayanıklı SignalR istemcisi

API

ASP.NET Core Web API, JWT cookie auth ve ProblemDetails

Application

CQRS, MediatR, FluentValidation ve domain olayları

Data & Realtime

EF Core, SQL Server, Redis ve SignalR Hub

Delivery

Docker Compose, Nginx ve GitHub Actions