Question

Is there any library for distributed in-memory cache, distributed tasks, publish/subscribe messaging? I have used Hazelcast in Java, I would like something similar.

I know that Memcached is an in-memory cache and even distributed, but it is missing the messaging and remote task.

I just need something to coordinate a cluster of server without using traditional RPC and socket programming.

Thanks.

Was it helpful?

Solution

MPI might be what you want: http://en.wikipedia.org/wiki/Message_Passing_Interface

There are C++ hooks available in boost: http://www.boost.org/doc/libs/1_39_0/doc/html/mpi.html

Here is an informative podcast about Open-MPI, which is an implementation of MPI: http://twit.tv/floss50

OTHER TIPS

You might try ACE. It is a rather high-level open-source library that introduces quite a lot of abstractions.

Check the Enduro/X framework (https://github.com/endurox-dev/endurox) which basically is middleware for multi-processing. You may write your own cache service and consume it by client processes. It uses Posix queues for high performance IPC. It also have clustering options, so that you may consume some service (might be your cache) which physically runs on different machine. And client processes might event not know that it cache resists elsewhere, as all network abstraction is covered by Enduro/X framework.

Please try the Zircon Software Suite available at http://www.zircomp.com There was a webcast given by those folks last month. This software is based on ACE, but exposes an API that is very intuitive and very simple to understand and develop applications with. Further, Dr. Douglas C. Schmidt, the creator of ACE is the CTO of Zircon Computing, the company that promotes Zircon Software.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top