我正在寻找Java中一种相当快的事件处理机制,以生成和处理运行在不同主机上的不同JVM之间的事件。
对于单个JVM中跨多个线程的事件处理,我发现了一些很好的候选对象,比如Jetlang。但是在我寻找一个分布式的等价物时,我找不到任何足够轻量级的东西来提供良好的性能。
有谁知道任何符合要求的实现吗?
编辑:用数字表示性能有点困难。但是,例如,如果您使用事件实现心跳机制,并且心跳间隔为5秒,则心跳接收器应该在一两秒钟内接收发送的心跳。
一般来说,轻量级实现提供了良好的性能。事件处理机制涉及web服务器或任何类型的集中式集线器,需要强大的硬件(绝对不是轻量级的)来提供良好的性能,这不是我想要的。
发布于 2008-10-29 17:20:15
哈泽尔卡斯特主题是一种分布式发布子消息传递解决方案。
public class Sample implements MessageListener {
public static void main(String[] args) {
Sample sample = new Sample();
Topic topic = Hazelcast.getTopic ("default");
topic.addMessageListener(sample);
topic.publish ("my-message-object");
}
public void onMessage(Object msg) {
System.out.println("Message received = " + msg);
}
}Hazelcast还支持分布式队列、地图、set、list上的事件。所有的事件也是有序的。
致以敬意,
-talip
http://www.hazelcast.com
发布于 2008-10-08 04:25:05
根据您的用例,兵马俑可能是一个很好的选择。
发布于 2008-10-08 04:23:09
高级消息队列协议() --更详细的信息:协议可能是您正在寻找的内容。
它被金融服务公司用于高性能要求-- apache有一个实现-- http://cwiki.apache.org/qpid/
OpenAMQ - http://www.openamq.org/是一个较旧的参考实现。
https://stackoverflow.com/questions/181225
复制相似问题