Versions Compared

Key

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

...

Fabric3 supports autoscaling where the number of message listeners for a service endpoint are dynamically resized based on workload. As load increases, Fabric3 will create more queue listeners. Conversely, as load decreases, listeners will be removed, thereby freeing kernel threads to perform other work. 

The following are the autoscaling attributes which can be configured per endpoint as attributes on binding.jms:

  • max.receivers - Sets the maximum number of receivers to create
  • idle.limit
  • transaction.timout
  • receive.timeout
  • max.messages
  • recovery.interval
  • max.receivers
  • min.receiversmin.receivers - Sets the minimum number of receivers to retain
  • idle.limit - Sets the number of times a receiver can be marked idle during its execution window before it is removed from the work scheduler. Note if the maximum number of receivers is set to one, the single receiver will not be removed. Likewise, if a minimum number of receivers is set, idle receivers will not be removed if that threshold is reached.
  • receive.timeout - Set the time in milliseconds the message receive operation should block for.
  • max.messages - Sets the maximum number of messages to process by a receiver during its execution window. The default is unlimited, which results in the receiver processing messages until shutdown. Setting the number lower increases the ability of the work scheduler to adjust scheduling at the expense of thread context switches as receivers may be scheduled on different threads.
  • recovery.interval - Sets the time in milliseconds to wait while making repeated recovery attempts.
  •