[erlang-questions] Push/Pull messaging using CosEvent
Sun Jan 22 20:16:13 CET 2012
On 01/22/2012 06:21 AM, Avinash Dhumane wrote:
> I have tried to use Erlang's built-in (raw) messaging model, but found that it was too hard (for me) to do it. But, then, noticed the CosEvent implementation in Erlang's library. The abstractions provided in CosEvent for decoupled communication using push/pull messaging seem indispensable (to me). Please advise also if there are similar high level abstractions available elsewhere within Erlang's domain for realising push/pull system architectures. Thanks, again.
You might like CloudI (http://cloudi.org). Within CloudI, a channel is a service name that services subscribe or unsubscribe. The messaging is for any data (no formatting or schema imposed), while binary data is used when messaging external (written in C/C++, Java, Python, or Ruby) services. The messages are not meant to be persistent (that is what a database is for) so they include a timeout, a priority, and a uuid for tracking (transId). With service replication and context-dependent error handling, there should be no need for persistent messaging. The main messaging functions within the CloudI API are: send_async, send_sync, mcast_async, recv_async, return, and forward.
More information about the erlang-questions