Bird
Raised Fist0
Microservicessystem_design~20 mins

Event types (domain, integration, notification) in Microservices - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Event Types Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Identify the primary purpose of domain events
In a microservices architecture, what is the main role of domain events?
ATo notify external systems about changes in business state
BTo synchronize databases across different microservices
CTo communicate changes within the same bounded context or service
DTo trigger user interface updates directly
Attempts:
2 left
💡 Hint
Think about events that represent changes inside a single service's business logic.
Architecture
intermediate
2:00remaining
Choose the correct event type for cross-service communication
Which event type is best suited for notifying other microservices about a change that happened in one service?
ADomain event
BIntegration event
CNotification event
DCommand event
Attempts:
2 left
💡 Hint
This event type is designed to share information between different services.
scaling
advanced
2:30remaining
Scaling notification events for user alerts
You have a notification event system that sends alerts to users. What is the best approach to scale this system when user count grows rapidly?
AUse a message queue to asynchronously process notification events and send alerts
BSend notifications synchronously within the main service processing user actions
CStore notifications in the database and send them only when users log in
DSend notifications directly from the database triggers
Attempts:
2 left
💡 Hint
Think about decoupling notification sending from main user action processing.
tradeoff
advanced
2:30remaining
Tradeoffs between domain and integration events
What is a key tradeoff when choosing between domain events and integration events in microservices?
AIntegration events are synchronous, domain events are always asynchronous
BIntegration events require tight coupling between services, domain events do not
CDomain events are easier to version but harder to scale across services
DDomain events are internal and simpler but do not notify other services, integration events enable cross-service communication but add complexity
Attempts:
2 left
💡 Hint
Consider scope and complexity of each event type.
estimation
expert
3:00remaining
Estimate event throughput for a notification system
A notification system sends notification events to 1 million users daily. Each user receives on average 3 notifications per day. What is the approximate average event throughput per second the system must handle?
AAbout 35 events per second
BAbout 120 events per second
CAbout 120,000 events per second
DAbout 35,000 events per second
Attempts:
2 left
💡 Hint
Calculate total events per day, then divide by seconds in a day (86400).

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