I am experimenting with servicemix as an ESB to orchestrate several services behind a web site (most of the time the services are external web services). One common requirement is that the we be able to control the number of invocations per second on a per service basis (simple case). In more general terms, we wish to be able to specify the performance boundaries of the external service so that servicemix stays "within the boundaries" and adequately buffers the messages when the clients go over the limit.

I am using servicemix-3.0-SNAPSHOT - I saw the throttlingInterval and throttlingTimeout attributes on the ComponentMBean interface, but this is not sophisticated enough for my needs.

My thinking is to implement a TransformComponent to slow the incoming messages down according to a pluggable QoS strategy (and let the NMR handle the overflowing) and insert this component in front of the service invocation component for which I want to control QoS.

Is there an existing approach/solution for this (in servicemix or activemq)? Any suggestion/hints?

best regards,

 - Renaud

Reply via email to