【问题标题】:How to decide which endpoint type to use, Spring Integration如何决定使用哪种端点类型,Spring 集成
【发布时间】:2017-04-28 03:20:38
【问题描述】:

我已经尝试使用 TCP 进行 SI,效果很好。我正在尝试决定在一个简单的场景中应该使用哪种类型的端点。

在同一台机器上运行的两个 Java 进程需要相互通信。

有很多选项,例如:AMQP、JMS、MQTT、TCP、RMI。 我确信 TCP 也可以工作,异步且可靠,但它需要网络,最好有一个不需要网络的选项,并且当我将这些进程移植到不同的操作系统上运行时跨平台工作,例如从 Linux 到 Windows .

为了简化我的问题,其中哪些可以在没有网络(NIC 和 IP)的情况下工作? 如果我想在不同的机器上运行这两个进程并通过网络连接,哪一个是最好的,为什么? RMI 版本还支持异步可靠连接吗?

【问题讨论】:

    标签: jms spring-integration rmi amqp


    【解决方案1】:

    另一个因素是两个端点是否在同一个 java VM 中。

    什么是“最好的”通常很大程度上受您熟悉和容易获得的东西的影响。另外,你需要什么回复?保证交货怎么样?

    使用 Camel,很容易选择一个然后去;如果您以后需要更改,这不是很难。

    seda 和 VM 是需要研究的两个组件 - 它们易于使用,无需设置 - 但如果您的应用程序不符合限制,则需要其他组件。

    我倾向于 AMQP,因此我倾向于跨节点使用 AMQP 和 JMS。

    【讨论】:

    • Steve,AMQP 或 JMS 是否通过 TCP/UDP 运行?
    • AMQP 通过 TCP 运行。 JMS 是一种 API,而不是有线协议。 JMS 可以使用 AMQP。如果您使用 Java 编写代码,那么 JMS 可能是使用 AMQP 的好方法。
    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多