我们使用 JMS 而不是使用 REST TEMPLATE 来交换信息有什么优势?
what are the advantages we get using JMS instead of using REST TEMPLATE for exchanging the information?
根据我的理解,我们使用jms来交换两个或多个系统之间的信息,我们也可以使用Rest Template来交换信息,但是我们使用jms来交换信息,我可以知道我们的优势是什么使用 jms 而不是使用 REST 模板。
JMS
为 table 带来了一些优势。
- JMS 允许即发即弃消息并保证传递。
- JMS 对于
asynchronous
请求-回复消息传递很有用。使用它们来处理长 运行 操作 asynchronously.However 基于 HTTP 的模型是 synchronous
并导致快速方法失败。
- Publish/subscribe 是另一种很好的技术,可以将发送者与许多接收者分离。这是一个灵活的架构,因为订阅者可以根据需要来来去去。
- 异构环境中不同系统的集成。无法相互通信的任何类型的不同系统都是 [基于消息的] 集成应用程序的不错选择。
由于以上优点,JMS在企业集成中被大量使用。
- 异步 通信:应用程序需要通知另一个应用程序事件已发生,无需等待响应。
- 可靠性。确保一次且仅一次的消息传递。使用您的数据库方法,您必须 "reinvent the wheel",特别是当您有多个客户端阅读消息时。
- 松耦合。并非所有系统都可以使用数据库进行通信。因此,JMS 非常适合在具有可以跨系统边界通信的解耦系统的异构环境中使用。
根据我的理解,我们使用jms来交换两个或多个系统之间的信息,我们也可以使用Rest Template来交换信息,但是我们使用jms来交换信息,我可以知道我们的优势是什么使用 jms 而不是使用 REST 模板。
JMS
为 table 带来了一些优势。
- JMS 允许即发即弃消息并保证传递。
- JMS 对于
asynchronous
请求-回复消息传递很有用。使用它们来处理长 运行 操作 asynchronously.However 基于 HTTP 的模型是synchronous
并导致快速方法失败。 - Publish/subscribe 是另一种很好的技术,可以将发送者与许多接收者分离。这是一个灵活的架构,因为订阅者可以根据需要来来去去。
- 异构环境中不同系统的集成。无法相互通信的任何类型的不同系统都是 [基于消息的] 集成应用程序的不错选择。
由于以上优点,JMS在企业集成中被大量使用。
- 异步 通信:应用程序需要通知另一个应用程序事件已发生,无需等待响应。
- 可靠性。确保一次且仅一次的消息传递。使用您的数据库方法,您必须 "reinvent the wheel",特别是当您有多个客户端阅读消息时。
- 松耦合。并非所有系统都可以使用数据库进行通信。因此,JMS 非常适合在具有可以跨系统边界通信的解耦系统的异构环境中使用。