gpt4 book ai didi

java - RMI 和 ActiveMQ 的区别

转载 作者:行者123 更新时间:2023-12-02 13:21:42 28 4
gpt4 key购买 nike

我目前正在尝试熟悉多层应用程序(服务器/客户端架构)。为此,我创建了服务接口(interface)和相关的服务实现。

两个模块 - 客户端和服务器 - 都知道接口(interface)(通过构建路径包含)。

该应用程序的目的是客户端可以从服务器接收数据,并将数据发送到服务器,然后将数据存储到数据库中。

看来我需要双向沟通。 “标准”Java RMI 是正确的方法还是我需要使用 ActiveMQ 等 JMS 实现?

我看不出这两种方法之间的主要区别? RMI 是同步的,JMS 是异步的,是唯一的一种还是还有更多?

此外,您能推荐一个 ActiveMQ 教程甚至书籍吗?

最佳答案

我们在这里讨论两种不同的技术,每种技术都有不同的使用场景。 RMI 是一个 Java 应用程序编程接口(interface) (API),它允许在 Java 程序之间远程调用方法,其预期用途是构建同步、分布式应用程序。 RMI 是远程过程调用 (RPC) 的 Java 等价物。

另一方面,ActiveMQ 是一种产品,一种面向消息的中间件 (MOM),可用于接收和处理异步消息(队列或主题),Java 应用程序通常使用 JMS API 与此类系统进行通信。

当您需要以分布式、同步方式与另一个 Java 应用程序通信时,您将使用 RMI,而您将使用 JMS 来发送要异步处理的消息,并且原则上处理可能涉及使用任何其他技术编写的系统,不仅仅是 Java(与 RMI 不同)。

异步消息传递通常用于解决集成不同系统的架构问题,关于该主题的一本非常好的(与技术无关的)书籍是 Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions .

最后,ActiveMQ in Action是一本关于 ActiveMQ 的好书。

关于java - RMI 和 ActiveMQ 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8108973/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com