Java的分布式事件处理机制

trs*_*hiv 14 java distributed event-handling

我正在寻找一种合理快速的Java事件处理机制来生成和处理在不同主机上运行的不同JVM上的事件.

对于单个JVM中多个线程的事件处理,我发现了一些像Jetlang这样的好候选者.但是在我搜索分布式的等价物时,我找不到任何轻量级以提供良好性能的东西.

有谁知道任何适合该法案的实施?

编辑:使用 数字来表示性能有点困难.但是,例如,如果使用事件实现心跳机制并且心跳间隔为5秒,则心跳接收器应该在一两秒钟内接收发送的心跳.

通常,轻量级实现提供了良好的性能.涉及Web服务器或任何类型的集中式集线器的事件处理机制需要强大的硬件(绝对不是轻量级)以提供良好的性能,这不是我正在寻找的.

小智 8

Hazelcast Topic是一种分布式pub-sub消息传递解决方案.

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);
    } 
}
Run Code Online (Sandbox Code Playgroud)

Hazelcast还支持分布式队列,地图,集合,列表上的事件.所有活动都是订购的.

问候,

-talip

http://www.hazelcast.com


anj*_*anb 3

AMQP(高级消息队列协议)——更多详细信息: http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol可能就是您正在寻找的。

金融服务公司使用它来满足其高性能要求——apache 正在实施——http: //cwiki.apache.org/qpid/

OpenAMQ - http://www.openamq.org/是一个较旧的参考实现。