MCIA - Level 1 Exam QuestionsBrowse all questions from this exam

MCIA - Level 1 Exam - Question 31


An Order microservice and a Fulfillment microservice are being designed to communicate with their clients through message-based integration (and NOT through

API invocations).

The Order microservice publishes an Order message (a kind of command message) containing the details of an order to be fulfilled. The intention is that Order messages are only consumed by one Mule application, the Fulfillment microservice.

The Fulfillment microservice consumes Order messages, fulfills the order described therein, and then publishes an OrderFulfilled message (a kind of event message). Each OrderFulfilled message can be consumed by any interested Mule application, and the Order microservice is one such Mule application.

What is the most appropriate choice of message broker(s) and message destination(s) in this scenario?

Show Answer
Correct Answer: B

Order messages should be sent to a JMS queue, as these messages are commands intended for a single consumer, the Fulfillment microservice. On the other hand, OrderFulfilled messages should be sent to a JMS topic because these messages are events that can be consumed by multiple interested applications, including the Order microservice. Both microservices can interact with the same JMS provider instance, which simplifies the architecture and ensures that scaling challenges are managed for one instance instead of multiple.

Discussion

9 comments
Sign in to comment
Pavan_NagineniOption: B
Aug 27, 2021

B. Order messages are sent to a JMS queue OrderFulfilled messages are sent to a JMS topic Both microservices interact with the same JMS provider (message broker) instance, which must therefore scale to support the load of both microservices

GrumpOption: B
Dec 26, 2021

It could be B or D. Leaning more towards B because you do not need to worry about load difference of Order and fulfillment services. fulfillment service will only be processing messages from Order service. orderfulfilled messages an be published on topic which can be consumed by multiple consumers, but number of messages will be same as generated by order service.

_d4d_
Dec 27, 2022

This explanation seems apt, based on which I would assume answer should be B

Outdoor25Option: D
Jan 2, 2022

It should be D. The key here is fulfillment app publishes order fulfilled message which needs to be consumed by more than one (order service). this will cause different loads for Order JMS broker vs Order Fulfilled (topif) JMS broker. Hence there is a need to scale them differently. B is correct as well, but there is an unnecessary scaling of one JMS broker to accommodate load of fulfilled messages.

rodriguescontOption: B
Jun 28, 2022

B Cannot be “D” to not make Order Mule App connect to 2 different message brokers (Queue to send messages to Fulfillment and Topic to consume Fulfillment event)

AkanshaR91Option: B
Jul 23, 2022

B be right

madgeezerOption: B
Aug 4, 2022

B. Order messages are sent to a JMS queue OrderFulfilled messages are sent to a JMS topic Both microservices interact with the same JMS provider (message broker) instance, which must therefore scale to support the load of both microservices

majda091983Option: D
Oct 25, 2022

correct answer is D the OrderFulfilled message shoud be publiseh to topic so it can be consumed by any interested Mule application

Viv2005Option: B
Nov 25, 2022

A - Incorrect, because OF messages are sent to a queue. But remember queue can only have one consumer, here the many application should be listening for OF message. C - Incorrect, because as per question order MS is designed to communicate through message-based integration. D - Incorrect, 2 message broker is extra cost. 1 MB can handle a good amount of load of many queues and topics. B is the correct answer.

gilofernandesOption: B
Sep 29, 2023

one single JMS broker ; Order can be consumed by only one arget, hence queue, OrderFulfilled must be consumed by several targets, hence topic