【发布时间】:2012-03-14 15:03:36
【问题描述】:
这是我要解决的用例:
我有:
一个客户端 C,它是一个 Web 应用程序,
前端模块 A,公开 REST API,
一个后端模块 B,也公开一个 REST API。 (我不能更改这个不属于我的模块,它只有一个 REST API)
对于其中一项服务,C 调用 A,A 调用 B。一切都发生在 REST 中。由于 REST 调用是同步的(即阻塞),因此速度很快。
现在我想将 A 和 B 解耦,让 A 不直接了解 B。
所以我想知道将 Camel 作为消息总线放在中间。它会给:
C ---(REST 调用)----> A ----> Camel ---(REST 调用)---> B
我的问题
这是个好主意吗?如果是的话,它是否仍然很快(A 和 B 之间没有任何东西,我在本地网络上的响应时间不到 10 毫秒)?
决胜局
它与 ServiceMix 的工作方式相同吗?
谢谢!
【问题讨论】:
-
难道您不能为发布者订阅者编写一个真正的端点并拥有一个真正的发布者,这样您就可以不断地从分离的订阅者中检查它吗?
-
@Kristian 模块 B 不能成为订阅者,这是一个我自己无法管理的模块。
标签: java rest apache-camel apache-servicemix