https://github.com/bbthn/eshoponcontainers
Microservice, RabbitMQ, Azure Service Bus, Domain-Driven-Design, MSSQL, Redis, Ocelot (ApiGateway)
https://github.com/bbthn/eshoponcontainers
azure-service-bus domain-driven-design microservice mssql ocelot-api-gateway rabbitmq redis
Last synced: 3 months ago
JSON representation
Microservice, RabbitMQ, Azure Service Bus, Domain-Driven-Design, MSSQL, Redis, Ocelot (ApiGateway)
- Host: GitHub
- URL: https://github.com/bbthn/eshoponcontainers
- Owner: bbthn
- Created: 2024-05-06T11:01:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-26T15:48:13.000Z (about 1 year ago)
- Last Synced: 2025-01-22T04:33:12.326Z (5 months ago)
- Topics: azure-service-bus, domain-driven-design, microservice, mssql, ocelot-api-gateway, rabbitmq, redis
- Language: C#
- Homepage:
- Size: 3.95 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Merhaba, bu proje, güçlü bir mikroservis ekosisteminin nasıl kurulabileceğini göstermektedir. Projemizde altı farklı servis ve bir API Gateway bulunmaktadır.
Genel bakış:
Mikroservisler:
NotificationService
PaymentService
OrderService
BasketService
CatalogService
IdentityServiceAPI Gateway:
ApiGateway, dinamik servis keşfi ve sağlık kontrolleri için Ocelot ve Consul kullanılarak yapılandırılmıştır.Proje Özellikleri:
BasketService:
Basket bilgileri Redis üzerinde kullanıcı adı key olacak şekilde tutularak bir yapı oluşturuldu.OrderService:
CQRS ve MediatR desenleri kullanılarak, sorumlulukların temiz bir şekilde ayrılması ve ölçeklenebilirliğin artırılması sağlanmıştır.Diğer Servisler:
Sadelik İçin Basit İmplementasyon: NotificationService, PaymentService, BasketService, CatalogService ve IdentityService, basit ve anlaşılır bir yapıyla implemente edilmiştir.EventBus:
Message Brokers: Güvenilir event-driven iletişim için RabbitMQ ve Azure Service Bus ile entegrasyon sağlanmıştır.
InMemory Event Handling: Event-EventHandler çiftleri bellek içinde yönetilerek hızlı ve verimli olay işleme sağlanmıştır. Gerektiğinde veritabanı ile ilerlenebilir.API Gateway:
Ocelot Integration: Ocelot, gelen istekleri ilgili mikroservislere yönlendirir.
Consul Integration: Servisler, başlatıldıklarında kendilerini Consul'a kaydeder. Bu yapı, dinamik servis keşfi ve sürekli health check'ler ile dayanıklı ve hata toleranslı bir yapı sağlar.Güvenlik:
Authorization: OrderService ve BasketService için authentication protokollerinden yararlanılarak yetkilendirme mekanizması kullanılmıştır.
![]()