e-commerce microservices platform
sipariş, stok ve ödeme akışları üzerinden clean architecture, ddd ve servisler arası iletişimi inceleyen kişisel .net projesi.
kaynak kodu incelemimari ve uygulama ayrıntıları
- clean architecture ve domain-driven design (ddd) ilkeleriyle gateway, order, inventory, payment, fulfillment, iam, catalog, customer, search, notification ve promotion olmak üzere 11 bağımsız mikroservisten oluşan dağıtık mimari tasarlandı.
- servisler arası asenkron olay odaklı (event-driven) iletişimde rabbitmq ve masstransit entegrasyonuyla choreography saga ve transactional outbox desenleri uygulandı.
- yüksek performans gerektiren iç servis iletişimlerinde senkron grpc protokolü entegre edildi.
- dış istemci trafiği yarp api gateway üzerinden yönetildi; native aot derleme stratejisi ile gateway seviyesinde düşük gecikme ve optimize kaynak kullanımı sağlandı.
- okuma ve yazma sorumluluklarını ayırmak için cqrs deseni uygulandı; veri erişim performansını artırmak amacıyla valkey dağıtık önbellekleme altyapısı kuruldu.
- opentelemetry, prometheus ve grafana altyapısıyla uçtan uca distributed tracing, merkezi loglama, slo tabanlı alarm mekanizmaları ve merkezi denetim (auditing) yapılandırıldı.
- mikroservis sözleşme bütünlüğünü korumak için pactnet ile consumer-driven contract (cdc) test altyapısı ve her servis için bağımsız github actions ci/cd süreçleri oluşturuldu.