[omniORB] oneway

Pletyak Attila attila.pletyak@anemosky.com
Wed, 14 Feb 2001 20:15:05 +0100


Some day ago I read about it here, that there is a minimal risk in using
one-way methods, as the caller cannot check if the tcp connection closed
or not, ie. the callee got the call or not. So if you have critical
methods, where data loss is not allowed, do not use oneways.

We are making also a big system here based on CORBA where we work with
Database, etc. We also need to handle big numbers of calls. The solution
we made is to distribute the load, we put objects on different
computers. That is to say with one computer we could make in our system
450 call-pairs / sec, but with 3 computers given to the pool we got
around 900-1000 call-pairs / sec. (I write call-pairs as actually two
calls are going one-after the other.) 

As I see from your writing our system is quite the contrary of yours, as
we have calls from a lot of points which are ending up in one point: the
database. But maybe I helped.

Attila Pletyak

owner-omniorb-list@uk.research.att.com wrote:
> 
> I'd like to ask for advise. We implement system looks like Notification
> Service. We forward incoming stream to subscribers. Incoming data flow is
> pretty big (1000-1,500 messages/sec). When we make CORBA call for each
> message we utilize all processor resource. If we create a batch of messages
> we get some small delay. For our busyness we need "real-time" data as
> possible. Of course UNIX isn't real time system and TCP has delays too, but
> we have to minimize latency as much as we can. I think about "oneway"
> modificator for that critical method. Anybody has experience with "oneway".
> Is it useful in that situation? I read a lot of negative feed back about
> "oneway". Any suggestions?
> Thank you,
>   Andrey