Versions Compared

Key

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

...

Processing outbox can be tuned by increasing/decreasing batchsize, concurrent consumers, async threads, poller concurrency threads and  and interval. Below there is diagram that shows how whole flow works. 



Image RemovedImage Added

Async threads pool

...

Outbox Poller is also possible to tune by adding extra poller concurrency threads into its publisher. It will split batchsize into smaller parts and will process them in parallel. By default concurrency poller is disabledspecifying batchsize, which is a numer of messages pulled into memory that will be processed. By default it's 10000

Code Block
blueriq.case.engine.outbox.poller.concurrency.enabled=true
blueriq.case.engine.outbox.poller.concurrency.threads=2batchsize=10000

By specifying interval, we can configure time when poller should get messages from outbox and start processing another batch. By default, it's 2 minutes

Code Block
blueriq.case.engine.outbox.poller.interval.minutes=2m

We can also specify batchsize, which is number of messages pulled from outbox into memory. By default it's 10000

Code Block
blueriq.case.engine.outbox.poller.batchsize=10000


Example issues and solutions

...

Problem: Outbox is full, queue is empty

Solution: Increase async threads or poller concurrency threads

Example 2

Problem: Out of memory error

...

Problem: After system was down, outbox is full of messages and they are processed very slowly

Solution: Increase poller concurrency threads, increase batchsize, decrease interval

...