Bird
Raised Fist0
Microservicessystem_design~5 mins

Event types (domain, integration, notification) in Microservices - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a domain event in microservices?
A domain event represents something important that happened inside a service's business logic. It reflects a state change or action relevant to the service's core domain, like 'OrderPlaced' or 'PaymentProcessed'.
Click to reveal answer
beginner
Define an integration event and its purpose.
An integration event is used to communicate between different microservices. It shares information about changes so other services can react or update themselves, ensuring loose coupling and eventual consistency.
Click to reveal answer
beginner
What is a notification event and when is it used?
A notification event informs users or external systems about something that happened, like sending an email or SMS. It is often used for alerts, confirmations, or updates outside the core business logic.
Click to reveal answer
intermediate
How do domain events differ from integration events?
Domain events focus on internal business changes within a service, while integration events are designed to share those changes with other services to coordinate actions across the system.
Click to reveal answer
intermediate
Why is it important to separate notification events from domain and integration events?
Separating notification events keeps user communication or external alerts independent from core business logic and service coordination, making the system easier to maintain and scale.
Click to reveal answer
Which event type represents a change inside a single microservice's business logic?
ASystem event
BIntegration event
CNotification event
DDomain event
What is the main purpose of an integration event?
ATo communicate changes between microservices
BTo log internal errors
CTo notify users about system status
DTo trigger UI updates
Which event type would you use to send an email confirmation after an order is placed?
ADomain event
BIntegration event
CNotification event
DAudit event
Which statement is true about domain and integration events?
ADomain events represent internal changes; integration events share those changes externally
BIntegration events are internal to a service
CDomain events are for external communication only
DBoth are the same and interchangeable
Why keep notification events separate from domain events?
ABecause notification events are faster
BTo avoid mixing business logic with user communication
CNotification events are only for debugging
DThey are stored in different databases
Explain the differences between domain, integration, and notification events in microservices.
Think about where the event happens and who needs to know about it.
You got /5 concepts.
    Describe a real-life example scenario using all three event types in a microservices system.
    Consider an online shopping system with order processing and user notifications.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which type of event in microservices captures important business actions inside a single service?
      easy
      A. Domain event
      B. Integration event
      C. Notification event
      D. System event

      Solution

      1. Step 1: Understand event types in microservices

        Domain events represent significant business actions occurring within a single service boundary.
      2. Step 2: Differentiate from other event types

        Integration events share data between services, and notification events alert users or external systems, so they are not internal business actions.
      3. Final Answer:

        Domain event -> Option A
      4. Quick Check:

        Business action inside service = Domain event [OK]
      Hint: Domain events are about internal business actions [OK]
      Common Mistakes:
      • Confusing integration events with domain events
      • Thinking notification events capture business logic
      • Assuming system event is a standard event type
      2. Which of the following is the correct way to describe an integration event in microservices?
      easy
      A. An event that triggers UI updates within the same service
      B. An event that shares information between different services
      C. An event that sends alerts to users only
      D. An event that logs errors internally

      Solution

      1. Step 1: Define integration events

        Integration events are designed to share information or changes between different microservices to keep them in sync.
      2. Step 2: Eliminate incorrect options

        UI updates are usually local, alerts to users are notification events, and error logs are internal diagnostics, not integration events.
      3. Final Answer:

        An event that shares information between different services -> Option B
      4. Quick Check:

        Sharing info between services = Integration event [OK]
      Hint: Integration events connect multiple services [OK]
      Common Mistakes:
      • Mixing notification events with integration events
      • Thinking integration events only affect one service
      • Confusing error logs with integration events
      3. Consider this code snippet in a microservice:
      publishEvent({ type: 'UserRegistered', payload: { userId: 123 } });
      What type of event is this most likely representing?
      medium
      A. Notification event
      B. System event
      C. Integration event
      D. Domain event

      Solution

      1. Step 1: Analyze the event name and context

        The event 'UserRegistered' indicates a business action inside the service, such as a user signing up.
      2. Step 2: Match event type to definition

        Since it captures a business action inside the service, it is a domain event, not a notification or integration event.
      3. Final Answer:

        Domain event -> Option D
      4. Quick Check:

        Business action event = Domain event [OK]
      Hint: Event names with business actions are domain events [OK]
      Common Mistakes:
      • Assuming all events are integration events
      • Confusing notification events with domain events
      • Ignoring event naming conventions
      4. A microservice is sending an event to notify users about a password change. The event is mistakenly labeled as an integration event. What is the main issue here?
      medium
      A. Notification events should not be sent to users
      B. Password change is a domain event, not a notification
      C. Notification events should not be labeled as integration events
      D. Integration events cannot carry user-related data

      Solution

      1. Step 1: Identify the event purpose

        The event is meant to notify users, which fits the notification event type.
      2. Step 2: Understand event labeling importance

        Labeling a notification event as an integration event causes confusion and wrong handling in the system.
      3. Final Answer:

        Notification events should not be labeled as integration events -> Option C
      4. Quick Check:

        Correct event labeling avoids confusion [OK]
      Hint: Match event label to its purpose carefully [OK]
      Common Mistakes:
      • Mixing notification and integration event roles
      • Assuming integration events can't have user data
      • Thinking notification events are internal only
      5. You are designing a microservices system where a user registration triggers multiple actions: updating internal user stats, notifying other services, and sending a welcome email. Which event types should you use for these actions respectively?
      hard
      A. Domain event, integration event, notification event
      B. Integration event, domain event, notification event
      C. Notification event, domain event, integration event
      D. Domain event, notification event, integration event

      Solution

      1. Step 1: Map actions to event types

        Updating internal user stats is a business action inside the service, so it is a domain event.
      2. Step 2: Identify cross-service communication

        Notifying other services requires sharing information between services, so it is an integration event.
      3. Step 3: Recognize user alerts

        Sending a welcome email is a message to the user, which fits notification events.
      4. Final Answer:

        Domain event, integration event, notification event -> Option A
      5. Quick Check:

        Internal action, cross-service, user alert = Domain, Integration, Notification [OK]
      Hint: Match event type to action scope: internal, cross-service, user [OK]
      Common Mistakes:
      • Swapping integration and notification events
      • Using domain events for cross-service communication
      • Confusing notification with domain events