【发布时间】:2018-07-10 05:56:40
【问题描述】:
我有 2 个 Spring Boot 应用程序,我需要在这两个应用程序之间进行通信。我有休息模板来交流。除了 REST 模板,还有什么其他的沟通技巧?
【问题讨论】:
标签: java rest http spring-boot
我有 2 个 Spring Boot 应用程序,我需要在这两个应用程序之间进行通信。我有休息模板来交流。除了 REST 模板,还有什么其他的沟通技巧?
【问题讨论】:
标签: java rest http spring-boot
微服务架构中正在使用一些模式:
【讨论】:
这个问题与 Springboot 本身无关。这里的问题是两个应用程序(Web 或非 Web)应该如何相互通信。
关于通信,还是要看需求,是同步通信还是异步通信。
如果它的同步通信(你等待结果,客户端被阻塞),你使用 Rest Template
如果它的异步通信(你不想等待结果并且客户端没有被阻塞),你可以使用 ActiveMq、Kafka 等消息代理......
【讨论】:
如果您在应用程序中使用 Spring,您可能想尝试 Spring Integration。 Spring Integration 是一个 spring 模块,有助于将两个系统集成在一起。
Spring Integration 扩展了 Spring 编程模型以支持著名的企业集成模式。 Spring Integration 支持在基于 Spring 的应用程序中实现轻量级消息传递,并支持通过声明式适配器与外部系统集成。
您还可以使用Apache camel。
查看更多详情here。
Apache Camel 是一个开源 Java 框架,专注于使开发人员更容易和更容易地进行集成。它通过提供:
- 所有广泛使用的Enterprise Integration Patterns (EIP) 的具体实现
- 与各种传输和 API 的连接
- 易于使用领域特定语言 (DSL) 将 EIP 和传输连接在一起
【讨论】: