You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Supun Kamburugamuva <su...@gmail.com> on 2010/02/10 05:41:12 UTC

Priority based mediation

Hi,

Priority based mediation allows users to execute sequences with a given
priority. This is important when there is a high volume of traffic going
through synapse which require different processing capabilities.

First I'll explain the problem.

Lets assume we have two types of messages coming in to the ESB. One type of
message(P1) is very important and other type(P2) is not that important. User
can afford to loose some of the P2 messages occasionally.
Load characteristics of both messages change over time. Some time lots of P1
and few P2 messages can come. Sometimes lots of P2 messages with few P2
messages can come. Sometimes lots of P1 and P2 messages can come.

In all these scenarios synapse should be able to guarantee the processing of
P1 messages, even if it loose some P2 messages.

To get this functionality in to ESB, we have implemented this feature in to
synapse at two different levels. They are at HTTP transport level and
mediation level.

In the mediation level user can filter the messages using normal synapse
capabilities for determining the priority and execute a sequence with a
given priority.

In the transport level there is a configuration to determine the priority
from HTTP properties and execute the sequences accordingly.

This feature is totally optional.

I will create a JIRA and attach the source for review.

Thanks,
Supun..


-- 
Software Engineer, WSO2 Inc
http://wso2.org
supunk.blogspot.com

Re: Priority based mediation

Posted by indika kumara <in...@gmail.com>.
+ 1 .. good work

Thanks
Indika

On Wed, Feb 10, 2010 at 10:41 AM, Supun Kamburugamuva <su...@gmail.com>wrote:

> Hi,
>
> Priority based mediation allows users to execute sequences with a given
> priority. This is important when there is a high volume of traffic going
> through synapse which require different processing capabilities.
>
> First I'll explain the problem.
>
> Lets assume we have two types of messages coming in to the ESB. One type of
> message(P1) is very important and other type(P2) is not that important. User
> can afford to loose some of the P2 messages occasionally.
> Load characteristics of both messages change over time. Some time lots of P1
> and few P2 messages can come. Sometimes lots of P2 messages with few P2
> messages can come. Sometimes lots of P1 and P2 messages can come.
>
> In all these scenarios synapse should be able to guarantee the processing
> of P1 messages, even if it loose some P2 messages.
>
> To get this functionality in to ESB, we have implemented this feature in to
> synapse at two different levels. They are at HTTP transport level and
> mediation level.
>
> In the mediation level user can filter the messages using normal synapse
> capabilities for determining the priority and execute a sequence with a
> given priority.
>
> In the transport level there is a configuration to determine the priority
> from HTTP properties and execute the sequences accordingly.
>
> This feature is totally optional.
>
> I will create a JIRA and attach the source for review.
>
> Thanks,
> Supun..
>
>
> --
> Software Engineer, WSO2 Inc
> http://wso2.org
> supunk.blogspot.com
>
>
>

Re: Priority based mediation

Posted by Supun Kamburugamuva <su...@gmail.com>.
I'm attaching a document that describes the configuration model. Also I'm
attaching a synapse.xml and priority-configuration.xml. The second file can
be used to determine the priority at the transport level.

I did test this using a HTTP header to specify the priority at the transport
level. Then I did load synapse instance using apache ab. I couldn't load
this enough by running the client on the same machine. So I had to load
synapse using another machine. I did the same thing for mediation level
priority using a simple SOAP request.

Any advice on testing is greatly appreciated.

Once everything is finalized I'll create a more comprehensive configuration
document and contribute it to synapse.

Thanks,
Supun..

On Fri, Feb 12, 2010 at 11:27 AM, Asankha C. Perera <as...@apache.org>wrote:

> Hi Supun
> > To get this functionality in to ESB, we have implemented this feature
> > in to synapse at two different levels. They are at HTTP transport
> > level and mediation level.
> >
> > In the mediation level user can filter the messages using normal
> > synapse capabilities for determining the priority and execute a
> > sequence with a given priority.
> >
> > In the transport level there is a configuration to determine the
> > priority from HTTP properties and execute the sequences accordingly.
> I couldn't locate a sample configuration or any configuration language
> syntax documentation on the proposed changes.. could you point me to it
> and how you intend to verify that under load this functions as intended
> - ie. any test outline you plan to use
>
> cheers
> asankha
>
> --
> Asankha C. Perera
> AdroitLogic, http://adroitlogic.org
>
> http://esbmagic.blogspot.com
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>


-- 
Software Engineer, WSO2 Inc
http://wso2.org
supunk.blogspot.com

Re: Priority based mediation

Posted by "Asankha C. Perera" <as...@apache.org>.
Hi Supun
> To get this functionality in to ESB, we have implemented this feature
> in to synapse at two different levels. They are at HTTP transport
> level and mediation level.  
>
> In the mediation level user can filter the messages using normal
> synapse capabilities for determining the priority and execute a
> sequence with a given priority. 
>
> In the transport level there is a configuration to determine the
> priority from HTTP properties and execute the sequences accordingly.
I couldn't locate a sample configuration or any configuration language
syntax documentation on the proposed changes.. could you point me to it
and how you intend to verify that under load this functions as intended
- ie. any test outline you plan to use

cheers
asankha

-- 
Asankha C. Perera
AdroitLogic, http://adroitlogic.org

http://esbmagic.blogspot.com





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Priority based mediation

Posted by Ruwan Linton <ru...@gmail.com>.
+1

This sounds like a very timely feature.

Thanks,
Ruwan

On Wed, Feb 10, 2010 at 10:11 AM, Supun Kamburugamuva <su...@gmail.com>wrote:

> Hi,
>
> Priority based mediation allows users to execute sequences with a given
> priority. This is important when there is a high volume of traffic going
> through synapse which require different processing capabilities.
>
> First I'll explain the problem.
>
> Lets assume we have two types of messages coming in to the ESB. One type of
> message(P1) is very important and other type(P2) is not that important. User
> can afford to loose some of the P2 messages occasionally.
> Load characteristics of both messages change over time. Some time lots of P1
> and few P2 messages can come. Sometimes lots of P2 messages with few P2
> messages can come. Sometimes lots of P1 and P2 messages can come.
>
> In all these scenarios synapse should be able to guarantee the processing
> of P1 messages, even if it loose some P2 messages.
>
> To get this functionality in to ESB, we have implemented this feature in to
> synapse at two different levels. They are at HTTP transport level and
> mediation level.
>
> In the mediation level user can filter the messages using normal synapse
> capabilities for determining the priority and execute a sequence with a
> given priority.
>
> In the transport level there is a configuration to determine the priority
> from HTTP properties and execute the sequences accordingly.
>
> This feature is totally optional.
>
> I will create a JIRA and attach the source for review.
>
> Thanks,
> Supun..
>
>
> --
> Software Engineer, WSO2 Inc
> http://wso2.org
> supunk.blogspot.com
>
>
>


-- 
Ruwan Linton
Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: ruwan@wso2.com; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com