You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@olingo.apache.org by Hank Bruning <ha...@jblade.com> on 2015/09/02 20:59:05 UTC

Scaling Olingo

Does anyone have any experience or advice on how to scale an application,
not a webserver, a Java app, that needs to have 40,000 to 100,000
simultaneous active olingo clients in a single JVM which I call the Master.
This is for a single Master JVM talking to a larger number of other
computers with machine to machine messaging rates over 300,000 per second
to the Master JVM. This was easy using UDP sockets because it connection
less.

Obviously I can run out of TCP sockets for the Olingo clients unless I add
additional IP address per physical ethernet port.
Is it correct that the thread with the Olingo client after sending a HTTP
Get will block waiting on the socket for a response ?
Has anyone done this with Olingo and have any advice ?

Hank Bruning
JBlade

Re: Scaling Olingo

Posted by "Bolz, Michael" <mi...@sap.com>.
Hi Hank,

I for myself have no experience with such a use case and I also do not know about a project which have done something similar.

> Does anyone have any experience or advice on how to scale an application, not a webserver, a Java app, that needs to have 40,000 to 100,000 simultaneous active olingo clients in a single JVM which I call the Master. This is for a single Master JVM talking to a larger number of other computers with machine to machine messaging rates over 300,000 per second to the Master JVM. This was easy using UDP sockets because it connection less.
> Obviously I can run out of TCP sockets for the Olingo clients unless I add additional IP address per physical ethernet port.

I for myself have no experience with such a use case and I also do not know about a project which have done something similar.

> Is it correct that the thread with the Olingo client after sending a HTTP Get will block waiting on the socket for a response ? 
> Has anyone done this with Olingo and have any advice ?

If you ask for the Olingo V4 client, then it is true that the client thread is blocked.
However you can use the preference "respond-async” in OData for asynchronous support.
If the OData server supports  asynchronous request your client is only blocked for sending the request and the response can get asynchronously.

Best Regards,
Michael

> 
> Hank Bruning
> JBlade