1
10
异步通信:调用者返回很快,可以继续工作(不创建新线程),消息可以稍后处理。可以存储消息,即使服务器发生故障,一旦服务器再次启动,也可以继续处理这些消息。消息可以分发到多台计算机(根据规则可选)。 调用者和被调用者可以分离(调用者不必知道,谁将使用消息,以及有多少消息使用者)。 与同步通信相比,它具有巨大的性能优势。对于必须每秒处理大量消息的服务来说,这样的消息中间件可能是至关重要的(例如,想想Twitter)。但它并不局限于人类可读的信息。 |
2
5
选择JMS和MDBS的另一个原因是保证交付。如果接收器不可用,则同步点对点调用将失败,但可以设置队列以确保传递、处理重试或事务失败、对“有害”消息使用错误队列等。 JMS中内置了两种传输模型:点到点使用队列和发布/订阅使用主题。各有其优点。 JMS和MDBS的缺点是响应速度。您可能喜欢去耦,但是如果您阻塞并等待响应,它肯定会比直接远程方法调用慢,因为涉及两个网络路由,而不是一个。 |