Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

...

outlinetrue


Inbound Queue MC2JMS Stream With Concurrent Processing

The MC2JMS stream for consumption from a queue should use a connection with no pool. MC2 will start consumers on all workers in the cluster and will process the messages in parallel on all workers.

...

Concurrent Consumers can be set to 20, which means that one MC2 Worker will process concurrently 20 messages from the queue. If we have 8 MC2 workers (this corresponds to four servers running MC2), MC2 will process 160 messages from the queue concurrently. If this parameter is not set, MC2 will process one message per worker, i.e. for 8 workers only 8 messages will be processed concurrently.


Inbound Queue MC2JMS Stream - Preserving The Sequence

To preserve the sequence we should make sure we consume messages on one consumer only. The configuration for this type of consumption will be the same as the configuration for Queue Concurrent Processing with the following differences:

...

To improve the performance and have some of the messages processed in parallel a Splitting Rule should be defined for the JMS stream. If the Split Type parameter in the Message Center Console Stream is defined as Rule Based and a rule is selected, MC2 will use the Split Rule to calculate the key for each record in the message and will persist it in its local topic (currently kafka) for further processing. The records/messages with same key will be processed sequentially. The records with different keys can be processed concurrently.


Durable Topic Subscription

The configuration for the Durable Topic Subscription is almost the same as the configuration for Inbound Queue - Preserving The Sequence, with the following differences:

The Destination Type should be set to TOPIC or ALIAS.

The Durable Subscription Name should be set to a name used for the durable topic subscription.

If Durable Subscription Name is set, MC2 will limit the number of consumers to one for the whole cluster. To improve the performance it is strongly advisable to use Rule Based splitting with a Splitting Rule.

NOTE: The Client ID set on the connection will be the "SID-stream_name", where SID is the oracle database SID MC2 is connected to and stream_name is the stream name for which the subscription is created.