Tutorials Microservices with .NET

Notification Microservice — Complete Guide

Notification Microservice — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Microservices with .NET on Toolliyo Academy.

On this page

Microservices with .NET · Lesson 19 of 131

Notification Microservice

BeginnerIntermediateAdvancedProfessional

Beginner · 1 — Foundations · ~6 min · Module 3: ShopNest Services and Integration

What is this?

Notification Microservice sends email, SMS, or push — "Your order shipped". It listens for events; it does not create orders.

Why should you care?

SMS providers fail, rate-limit, and change APIs. Isolating notifications keeps checkout fast — fire-and-forget a message instead of waiting for Twilio inside Order API.

See it live — copy this example

Create a Web API project (dotnet new webapi), paste the code, then run dotnet run.

app.MapPost("/notifications/email", async (SendEmailDto dto, IEmailSender sender) =>
{
    await sender.SendAsync(dto.To, dto.Subject, dto.Body);
    return Results.Accepted();
});

// Later: consumer for OrderShippedEvent
public class OrderShippedConsumer : IConsumer<OrderShippedEvent>
{
    public async Task Consume(ConsumeContext<OrderShippedEvent> ctx) =>
        await _email.SendAsync(ctx.Message.Email, "Shipped!", $"Order {ctx.Message.OrderId}");
}

Run Example »

Edit the code and click Run — like W3Schools Try it Yourself.

Code
Result

What happened?

  • HTTP endpoint works for testing.
  • In production, Order publishes OrderShippedEvent; Notification consumes and sends email asynchronously.

Try it yourself

  1. Create Notification.Api with POST /notifications/email (log to console first).
  2. Call it manually from Postman after creating an order.
  3. Log order id and message body — verify end-to-end flow on paper.
  4. Change a string or route in the example and save — watch Swagger or the RabbitMQ Management UI update.
  5. Break the code on purpose (remove a semicolon), read the error message, then fix it.

Remember

Notification = outbound messages only. Prefer async events over sync calls from Order. Failures here should not roll back paid orders.

Real-world: Swiggy delivery SMS

Rider picked up food → Delivery service publishes event → Notification sends SMS in under 2 seconds average, async from order path.

Outcome: Peak dinner hour does not block order creation when SMS vendor throttles.

Interview prep for this lesson

Practice these questions aloud after reading—each links to a full structured answer.

Senior PDF Detailed
Distributed Transactions: Using Two-Phase Commit (2PC) or Sagas to ensure?
Short answer: that a transaction either commits or rolls back across multiple services. Real-world example (ShopNest) After payment succeeds, ShopNest publishes OrderPaid . Inventory and Notification services react indep…
Mid PDF Detailed
Data Consistency: Since all services share the same database, it's easier to ensure?
Short answer: data consistency and avoid issues like eventual consistency. Real-world example (ShopNest) ShopNest splits Catalog, Cart, Order, and Payment into services so teams can deploy catalog changes without redeplo…
Mid PDF Detailed
Liveness Probe:?
Short answer: Used to determine if a service is alive and functioning. If the liveness probe fails, Kubernetes will restart the container. Example: A database connection check can be implemented as a liveness probe. Real…
Senior PDF Detailed
Eventual Consistency: Most microservices architectures lean toward eventual?
Short answer: consistency where services are allowed to be temporarily inconsistent, but will eventually converge to a consistent state through events. Event-driven architectures with tools like Kafka or RabbitMQ are com…
Mid PDF Detailed
External Configuration Management: Use tools like Consul, Spring Cloud?
Short answer: Config, or HashiCorp Vault to manage configuration in a central, environment-specific location. Real-world example (ShopNest) ShopNest splits Catalog, Cart, Order, and Payment into services so teams can dep…
Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

Microservices with .NET
Course syllabus

Microservices with .NET Tutorial

Module 1: Foundations and Fundamentals
Module 2: Building User Microservice
Module 3: ShopNest Services and Integration
Module 4: RabbitMQ and Messaging
Module 5: Saga and Distributed Transactions
Module 6: API Gateway
Module 7: gRPC, CQRS, and GraphQL
Module 8: Resiliency and Fault Tolerance
Module 9: DevOps and Cloud-Native
Module 10: Git and GitHub
Module 11: CI/CD Pipelines
Module 12: Observability and Testing
Module 13: Advanced Topics
Module 14: Real-World Enterprise Projects
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details