✭ Microservices Architecture
- What is Microservice ?
- When to use and When to Not ?
- Is Microservices SOA ?
- How do we Decompose (DDD) ?
- DDD the Friend of Microservice
- Domain and Subdomain (Core domain, Supporting domain and generic domain)
- Bounded Context , Context Map ,Ubiquitous languages
- Strategic and Tactical design
- Upstream and Downstream
- Context Map strategic design thinking Partnership,Shared kernel,Customer supplier,Conformist,Anticorruption Layer,Open Host Service and Published Language.
|
|
- Entities, Value object ( Immutability), Aggerates, Iterator pattern, Services, Domain event ,Context Maps Understanding relationship between bounded contexts
- Repository Pattern and UOW
|
|
- Understanding CQRS pattern
- Command, Queries and their Handlers
- Is ICommand, Iquery Needed – The convention
- Marker Interface pattern and Attribute design way
- Importance of GUID in Command
- Using the inbuilt ServiceCollection
- Mediator the Mediator Pattern
- Insert, Updates, Deletes and Read are different logic and DB
- Importance of GUID / Versioning – Changing the mindset of primary keys.
- Aggregate root, Iterator, Event Sourcing, Saga, Read model, Projections, Snapshot, Eventual consistency, Repository pattern
|
|
- Queues, Rabbit MQ, Ocelot ( Oauth,OpenId,Caching, Throttling), APIM, Request aggregation.
|
|
- Database pattern discussion Shared database, Database per service, Saga, API
|
|
- Sync and Asynch communication between Microservices
- Synch and Async: - API Calls using Async Await
- Communication through RabbitMQ, Async, Long wait calls
|
|
- CQRS and event sourcing with Rabbit MQ.
|
|
- Security using JWT token and Single Sign on discussion. Oauth2 and OpenId connect importance and flow.
|
|
- Resiliency, partial failure, http resiliency, circuit pattern using Polly, exponential backoff and health monitoring, Service discovery.
|
|
- MVC Core REST API and Open API Standards, Swagger, Swashbuckler, Documentation.
|
|
- Service discovery using consul, registering and finding a service.
|
|