Hi there, folks. It’s been a while (a quarter to be exact) since I’ve announced for the first time Microservices in .NET Core with DShop series as a part of DevMentors idea. I do apologize for not being consistent back then, however, there was a single reason for it – together with Darek we did rewrite lots of code after gathering a great feedback during our lectures.
May I present you, the very first teaser of our incoming video series.
As you can see, there have been some quite significant changes (simply by looking at the repositories). All of the microservices are truly separate from each other (the only shared package is named DShop.Common – it’s a standard library for infrastructural or cross-cutting concerns). Let me quickly rephrase what are we going to focus on in the near future:
- RESTful API implementation with ASP.NET Core
- Domain Driven Design fundamentals
- SQL and NoSQL databases (SQL Server, MongoDB, InfluxDB)
- Distributed caching with Redis
- API Gateway and other patterns designed for microservices
- JWT, authentication, authorization
- Communication via websockets using SignalR
- CQRS, Commands, Queries & Events handlers
- Using RabbitMQ as a message queue with RawRabbit
- Dealing with asynchronous requests, Process Managers and Sagas
- Internal HTTP communication with RestEase
- Service discovery with Consul
- Storing secrets with Vault
- Monitoring with App Metrics, Grafana, Prometheus and Jaeger
- Logging with Serilog, Seq and ELK stack
- Building Docker images, managing containers, networks and registries
- Defining Docker compose stacks
- Managing your own Nuget feeds (e.g. MyGet)
- CI & CD with build services such as Travis CI, Bitbucket Pipelines or VSTS
- Deploying services to the Linux Servers and configuring Nginx
- Orchestrating services on your VM or in the Cloud using Portainer or Rancher (built on top of Kubernetes)
You can find all of the information (and some helpful scripts) in the main DShop repository. Moreover, the HTTP API requests can be found here, assuming that you’d like to play with the solution on your own for the time being.
Last but not least, feel free to ask about anything related to this topic and if possible, please post your questions or thoughts on our forums.