← Ana Sayfaya Dön
Web siteleri & platformlar

NowlSoft E-Ticaret

Go ile mikroservis mimarili e-ticaret platformu

NowlSoft stajının kendi bitirme projesi

GogRPCRabbitMQRedisPostgreSQLDockerNext.js

Ekran Görüntüleri & Şemalar

Mikroservis Sistem MimarisigRPC · RabbitMQ · Redis · Postgres
Clients / FrontendNext.js / MobileAPI GatewayJWT & Role AuthOWASP BOLA GuardAuth & User ServiceGo · gRPC · TokenProduct & CatalogGo · gRPC · Atomic LocksOrder & PaymentPCI-DSS Mask · GoRabbitMQ Event-Driven Message BusAsynchronous Audit, Notifications & Order EventsPostgreSQL (6x)DB-per-ServiceRedis CacheHot Reads / Wishlist

Problem & İhtiyaç

Geleneksel monolitik e-ticaret altyapılarında yaşanan tek hata noktası (SPOF), veritabanı kilitlenme darboğazları ve yetersiz yetkilendirme kaynaklı kritik veri sızıntısı riskleri.

Nasıl Çalışıyor?

01

İstemci istekleri merkezi API Gateway üzerinden JWT ve katı rol doğrulamasıyla karşılanır.

02

Senkron servis çağrıları yüksek hızlı ve düşük gecikmeli gRPC (HTTP/2) protokolü ile gerçekleştirilir.

03

Sipariş, ödeme onayı ve denetim (audit) olayları RabbitMQ mesaj kuyrukları üzerinden asenkron işletilir.

04

Sıcak ürün listeleri ve kullanıcı favorileri Redis önbelleğinde tutularak veritabanına sıfır yük bindirilir.

05

Ödeme süreçlerinde PCI-DSS standartlarında kart maskeleme ve stok güncellemelerinde atomik veritabanı kilitleri uygulanır.

Mimari & Teknik Kararlar

Go (Golang) ile geliştirilmiş 8 bağımsız servis (Auth, Product, Order, Payment, Cart, Shipping, Notification, Audit), Database-per-Service modelinde 6 izole PostgreSQL örneği, gRPC, RabbitMQ, Redis ve Docker Compose orkestrasyonu.

Database-per-Service prensibiyle 6 izole veritabanı üzerinde çalışan 8 mikroservis. Servisler arası düşük gecikmeli iletişim gRPC ile, bildirim ve denetim süreçleri RabbitMQ ile olay tabanlı yürüyor. Güvenlik tarafında OWASP Top 10 kapsamında BOLA/IDOR koruması, PCI-DSS kart maskeleme ve atomik veritabanı kilitleri; performans tarafında Redis üzerinde sıfır DB yüküyle çalışan favori listesi var.