Hello,

I'm trying to design a pattern that will fit my application but can't find a 
proper solution. I'd appreciate if someone could enlighten me.

I have a process that deals with sessions (voip calls). This server produce 
events for every session, e.g.:
Session1: start
Session1: msgA
Session1: msgB
Session1: msgC
...
Session1: msgX
Session1: stop

Each event has a session id. Many sessions exist concurrently.

And there're multiple workers that consume these events. Single event should go 
to single worker. (PUSH/PULL like pattern).

My initial though was single PUSH (server that produce events) and multiple 
PULL (workers that consume).

My challenge is avoid race condition in processing events, i.e. workers 
supposed to consume events in the same order as they produced. And this should 
be done in realtime, I can't serialize at worker side. And single worker is not 
enough from performance point of view.

Is there any ZMQ magic (pattern) that can force all events from single session 
(based on session id?) to be sent to same worker? This way I'll ensure that 
worker process events in the same order they appeared.

--
Best Regards,
Alex Massover

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to