Parallel message processing on diverse messaging buses
First Claim
1. A system for processing messages using a messaging bus, the system comprising:
- a first messaging bus including a first service and a first transaction manager, wherein the first service is coupled to an input queue and an output queue, and a composite transaction includes a first sub-transaction and a second sub-transaction, wherein in the composite transaction, the first service processes a first message from the input queue and generates a second message in accordance with processing the first message, and wherein the first transaction manager places the second message in the output queue, and the second message is routed from the output queue to a second service for processing;
a second messaging bus including the second service and a second transaction manager, wherein the second messaging bus is diverse from the first messaging bus and processes, during the composite transaction, the second message; and
a topic queue that accepts subscriptions from a plurality of services residing on diverse messaging buses, wherein the first transaction manager subscribes the first service to the topic queue and the second transaction manager subscribes the second service to the topic queue,wherein in response to successful processing of the first message, the first service commits the first sub-transaction and the transaction manager publishes to the topic queue a third message indicating that the first service has committed the first sub-transaction, andwherein in response to receiving the third message indicating that the first sub-transaction has been committed and in response to successful processing of the second message, the second transaction manager sends an indication to the second service to commit the second sub-transaction.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and techniques are disclosed for processing messages using a messaging bus. An example system includes an input queue that stores one or more input messages and an output queue that stores one or more output messages. The example system also includes a first service residing in a first messaging bus. In a composite transaction, the first service processes a first message and generates a second message in accordance with processing the first message. The example system further includes a transaction manager that places the second message in the output queue. The second message is routed from the output queue to a second service residing in a second messaging bus for processing, and the first and second messaging buses are diverse. The second service processes, during the composite transaction, the second message.
15 Citations
20 Claims
-
1. A system for processing messages using a messaging bus, the system comprising:
-
a first messaging bus including a first service and a first transaction manager, wherein the first service is coupled to an input queue and an output queue, and a composite transaction includes a first sub-transaction and a second sub-transaction, wherein in the composite transaction, the first service processes a first message from the input queue and generates a second message in accordance with processing the first message, and wherein the first transaction manager places the second message in the output queue, and the second message is routed from the output queue to a second service for processing; a second messaging bus including the second service and a second transaction manager, wherein the second messaging bus is diverse from the first messaging bus and processes, during the composite transaction, the second message; and a topic queue that accepts subscriptions from a plurality of services residing on diverse messaging buses, wherein the first transaction manager subscribes the first service to the topic queue and the second transaction manager subscribes the second service to the topic queue, wherein in response to successful processing of the first message, the first service commits the first sub-transaction and the transaction manager publishes to the topic queue a third message indicating that the first service has committed the first sub-transaction, and wherein in response to receiving the third message indicating that the first sub-transaction has been committed and in response to successful processing of the second message, the second transaction manager sends an indication to the second service to commit the second sub-transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of processing messages using a messaging bus, the method comprising:
-
processing, by a first service residing in a first messaging bus, a first message from an input queue; generating a second message in accordance with processing the first message; placing the second message in an output queue, wherein the second message is routed from the output queue to a second service for processing, wherein the second service resides in a second messaging bus diverse from the first messaging bus, and wherein a composite transaction includes a first sub-transaction and a second sub-transaction, and in the composite transaction, the first service processes the first message and the second service processes the second message; subscribing, by a first transaction manager, the first service to a topic queue that accepts subscriptions from a plurality of services residing on diverse messaging buses; subscribing, by a second transaction manager, the second service to the topic queue; in response to successful processing of the first message, committing the first sub-transaction and publishing to the topic queue a third message indicating that the first service has committed the first sub-transaction; and in response to receiving the third message indicating that the first sub-transaction has been committed and in response to successful processing of the second message, sending, by the second transaction manager, an indication to the second service to commit the second sub-transaction. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
- processing, by a first service residing in a first messaging bus, a first message from an input queue;
generating a second message in accordance with processing the first message;
placing the second message in an output queue, wherein the second message is routed from the output queue to a second service for processing, wherein the second service resides in a second messaging bus diverse from the first messaging bus, and wherein in a composite transaction includes a first sub-transaction and a second sub-transaction, and in the composite transaction, the first service processes the first message and the second service processes the second message;
subscribing, by a first transaction manager, the first service to a topic queue that accepts subscriptions from a plurality of services residing on diverse messaging buses;
subscribing, by a second transaction manager, the second service to the topic queue;
in response to successful processing of the first message, committing the first sub-transaction and publishing to the topic queue a third message indicating that the first service has committed the first sub-transaction; and
in response to receiving the third message indicating that the first sub-transaction has been committed and in response to successful processing of the second message, sending, by the second transaction manager, an indication to the second service to commit the second sub-transaction. - View Dependent Claims (20)
- processing, by a first service residing in a first messaging bus, a first message from an input queue;
Specification