You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@synapse.apache.org by developer researcher <ja...@gmail.com> on 2010/12/02 23:20:14 UTC

critical service - how do you handle this situation?

     Hello,

     I have a single instance of  a critical service, this service is highly
requested and I want to avoid concurrency issues. This service is provided by
a third party therefore I can not create other instance. In this context:
How can help me synapse ESB?

Regards,

Re: critical service - how do you handle this situation?

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi,

On Fri, Dec 3, 2010 at 8:55 PM, developer researcher
<ja...@gmail.com> wrote:
>     Hello, thanks for your responses,
>
>     I initially thought use a proxy for load balancing but is not
> applicable in the context described (a single instance of a service from a
> third party). is actually a web application that that exposes part of its
> functionality as a web service, the application is not in cluster.
>
>     Is possible that synapse capture the requests, placing them in queue
> and if a specific request no answer after a specific time then cancel the
> request and send an error message to the client for retry the request?

Synapse can detect many types of errors (including timeouts,
connection close etc) and send faults back to the client. You don't
have to queue messages to get this functionality. Synapse also
supports the dead letter channel, where failed requests can be queued
for later delivery.

>
> @Hiranya: "Synapse can however help reduce the load on the service with
> techniques like caching and throttling". Can you give me an example or link
> on this?

Check samples 370, 371, 372 and 420 in the samples guide [1].
Documentation is slightly outdated but should give you a basic idea.

Thanks,
Hiranya

[1] - http://synapse.apache.org/Synapse_Samples.html

>
> Thanks and regards,
>
> 2010/12/2 Ruwan Linton <ru...@gmail.com>
>
>> Also if you can setup alternate services for example another replica of the
>> same service, Synapse could create a proxy for the service instances that
>> you have and act as the load balancer to balance the load among the service
>> instances.
>>
>> Thanks,
>> Ruwan
>>
>> On Fri, Dec 3, 2010 at 6:58 AM, Hiranya Jayathilaka <hiranya911@gmail.com
>> >wrote:
>>
>> > Hi,
>> >
>> > On Fri, Dec 3, 2010 at 3:50 AM, developer researcher
>> > <ja...@gmail.com> wrote:
>> > >     Hello,
>> > >
>> > >     I have a single instance of  a critical service, this service is
>> > highly
>> > > requested and I want to avoid concurrency issues. This service is
>> > provided by
>> > > a third party therefore I can not create other instance. In this
>> context:
>> > > How can help me synapse ESB?
>> >
>> > I didn't quite understand your requirement. But it seems like you want
>> > to scale an existing service to handle a large number of requests.
>> > Synapse cannot help an external service scale up. Synapse is only an
>> > intermediary. The platform on which the service is deployed should
>> > take care of that.
>> >
>> > Synapse can however help reduce the load on the service with
>> > techniques like caching and throttling. If there are backup endpoints
>> > Synapse can provide a fail-over routing service.
>> >
>> > Thanks,
>> > Hiranya
>> >
>> > >
>> > > Regards,
>> > >
>> >
>> >
>> >
>> > --
>> > Hiranya Jayathilaka
>> > Senior Software Engineer;
>> > WSO2 Inc.;  http://wso2.org
>> > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>> > Blog: http://techfeast-hiranya.blogspot.com
>> >
>>
>>
>>
>> --
>> Ruwan Linton
>> Software Architect & Product Manager, WSO2 ESB; http://wso2.org/esb
>> WSO2 Inc.; http://wso2.org
>>
>> Lean . Enterprise . Middleware
>>
>> phone: +1 408 754 7388 ext 51789
>> email: ruwan@wso2.com; cell: +94 77 341 3097
>> blog: http://blog.ruwan.org
>> linkedin: http://www.linkedin.com/in/ruwanlinton
>> google: http://www.google.com/profiles/ruwan.linton
>> tweet: http://twitter.com/ruwanlinton
>>
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: critical service - how do you handle this situation?

Posted by developer researcher <ja...@gmail.com>.
     Hello, thanks for your responses,

     I initially thought use a proxy for load balancing but is not
applicable in the context described (a single instance of a service from a
third party). is actually a web application that that exposes part of its
functionality as a web service, the application is not in cluster.

     Is possible that synapse capture the requests, placing them in queue
and if a specific request no answer after a specific time then cancel the
request and send an error message to the client for retry the request?

@Hiranya: "Synapse can however help reduce the load on the service with
techniques like caching and throttling". Can you give me an example or link
on this?

Thanks and regards,

2010/12/2 Ruwan Linton <ru...@gmail.com>

> Also if you can setup alternate services for example another replica of the
> same service, Synapse could create a proxy for the service instances that
> you have and act as the load balancer to balance the load among the service
> instances.
>
> Thanks,
> Ruwan
>
> On Fri, Dec 3, 2010 at 6:58 AM, Hiranya Jayathilaka <hiranya911@gmail.com
> >wrote:
>
> > Hi,
> >
> > On Fri, Dec 3, 2010 at 3:50 AM, developer researcher
> > <ja...@gmail.com> wrote:
> > >     Hello,
> > >
> > >     I have a single instance of  a critical service, this service is
> > highly
> > > requested and I want to avoid concurrency issues. This service is
> > provided by
> > > a third party therefore I can not create other instance. In this
> context:
> > > How can help me synapse ESB?
> >
> > I didn't quite understand your requirement. But it seems like you want
> > to scale an existing service to handle a large number of requests.
> > Synapse cannot help an external service scale up. Synapse is only an
> > intermediary. The platform on which the service is deployed should
> > take care of that.
> >
> > Synapse can however help reduce the load on the service with
> > techniques like caching and throttling. If there are backup endpoints
> > Synapse can provide a fail-over routing service.
> >
> > Thanks,
> > Hiranya
> >
> > >
> > > Regards,
> > >
> >
> >
> >
> > --
> > Hiranya Jayathilaka
> > Senior Software Engineer;
> > WSO2 Inc.;  http://wso2.org
> > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> > Blog: http://techfeast-hiranya.blogspot.com
> >
>
>
>
> --
> Ruwan Linton
> Software Architect & Product Manager, WSO2 ESB; http://wso2.org/esb
> WSO2 Inc.; http://wso2.org
>
> Lean . Enterprise . Middleware
>
> phone: +1 408 754 7388 ext 51789
> email: ruwan@wso2.com; cell: +94 77 341 3097
> blog: http://blog.ruwan.org
> linkedin: http://www.linkedin.com/in/ruwanlinton
> google: http://www.google.com/profiles/ruwan.linton
> tweet: http://twitter.com/ruwanlinton
>

Re: critical service - how do you handle this situation?

Posted by Ruwan Linton <ru...@gmail.com>.
Also if you can setup alternate services for example another replica of the
same service, Synapse could create a proxy for the service instances that
you have and act as the load balancer to balance the load among the service
instances.

Thanks,
Ruwan

On Fri, Dec 3, 2010 at 6:58 AM, Hiranya Jayathilaka <hi...@gmail.com>wrote:

> Hi,
>
> On Fri, Dec 3, 2010 at 3:50 AM, developer researcher
> <ja...@gmail.com> wrote:
> >     Hello,
> >
> >     I have a single instance of  a critical service, this service is
> highly
> > requested and I want to avoid concurrency issues. This service is
> provided by
> > a third party therefore I can not create other instance. In this context:
> > How can help me synapse ESB?
>
> I didn't quite understand your requirement. But it seems like you want
> to scale an existing service to handle a large number of requests.
> Synapse cannot help an external service scale up. Synapse is only an
> intermediary. The platform on which the service is deployed should
> take care of that.
>
> Synapse can however help reduce the load on the service with
> techniques like caching and throttling. If there are backup endpoints
> Synapse can provide a fail-over routing service.
>
> Thanks,
> Hiranya
>
> >
> > Regards,
> >
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Ruwan Linton
Software Architect & Product Manager, WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org

Lean . Enterprise . Middleware

phone: +1 408 754 7388 ext 51789
email: ruwan@wso2.com; cell: +94 77 341 3097
blog: http://blog.ruwan.org
linkedin: http://www.linkedin.com/in/ruwanlinton
google: http://www.google.com/profiles/ruwan.linton
tweet: http://twitter.com/ruwanlinton

Re: critical service - how do you handle this situation?

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi,

On Fri, Dec 3, 2010 at 3:50 AM, developer researcher
<ja...@gmail.com> wrote:
>     Hello,
>
>     I have a single instance of  a critical service, this service is highly
> requested and I want to avoid concurrency issues. This service is provided by
> a third party therefore I can not create other instance. In this context:
> How can help me synapse ESB?

I didn't quite understand your requirement. But it seems like you want
to scale an existing service to handle a large number of requests.
Synapse cannot help an external service scale up. Synapse is only an
intermediary. The platform on which the service is deployed should
take care of that.

Synapse can however help reduce the load on the service with
techniques like caching and throttling. If there are backup endpoints
Synapse can provide a fail-over routing service.

Thanks,
Hiranya

>
> Regards,
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com