Service Throttling

Throttle a service in OSB

Throttling in OSB comes as an out of box feature Its an important configuration with respect to server resources.  Simple configurations option available in Operational Settings of Business Service in SBConsole. Throttling is used for controlling the number of instance a service can spawn itself to accommodate requests it receive from consumers..

When Throttling is enabled, messages are processed by priority. You can optionally assign messages a priority using routing options otherwise, messages are de-queued on a FIFO basis.

Maximum Concurrency value cannot be zero. If exceeded incoming messages are put into a wait queue. If the queue is full messages in the queue with a lower priority are removed and a run-time error is raised if error handler is configured to trigger when a message is en-queued.

Throttling Queue value is zero means there is no throttling queue. If the number of messages exceed the Maximum Concurrency value the messages are discarded and an error is raised.

Message Expiration value in milliseconds zero means the message will never be expired. All messages put in the queue have the same Message Expiration value when exceeded messages are removed from the queue without being processed.



Steps:
1. Open the Business service in the project for which you want to throttle the number of request.
2.Go to Operational Settings tab.
3. Enable the Throttling State.
4. Maximum Concurrency cant be Zero
5. Throttling queue can be zero.
6. Set Message Expiration in milli seconds
7. Save and Activate changes.


2 comments:

  1. Hello,

    Do you know if it is possible to persist the Throttling queue? I want to be sure that no message is lost.

    Thanks in advance,

    ReplyDelete
  2. Hi Dario,

    did you find a way to do that . if so , please help.

    ReplyDelete