【问题标题】:camel mediate service via jms and rest骆驼通过 jms 和 rest 调解服务
【发布时间】:2014-02-13 09:53:22
【问题描述】:

在我的公司,我们开始使用网络服务。我的计划是通过 2 个协议 http 和 jms 提供对服务的访问。对服务的任何外部访问(公司网络之外的客户端)通常都通过 http 和 json 通过一个 restful URL,但在内部如果服务需要调用另一个服务,它将通过 jms 来完成,主要是为了将服务彼此分离。

我的问题如下

  1. camel 能否提供抽象,以便我可以编写没有 http、json 和 jms 依赖项的服务代码?我希望骆驼通过一些中介来处理 http 到 java、json 到 java 和 jms 到 java 的转换,并且我的服务的调用应该简单地通过一个接受 java 对象作为请求的 java 方法。请记住,虽然 http 是同步模型,但 jms 必须模拟请求-响应。如果是的话,请您指出一个演示此设置的示例。

  2. 同样,我希望 camel 将来自我的服务(可能是一个 java 对象)的响应转换为 json 并将响应返回给客户端。

  3. 最后,我如何在此模型中进行缩放。对于 JMS,很容易启动多个实例并让它们监听一个队列。我如何利用相同的实例跨 http 接口进行负载平衡?我希望服务具有位置透明性,因此,他们不必关心调用“jms”特定集群与“http”特定集群?

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    我认为您可以使用 Camel 实现所有这些。

    1. 不同对象表示之间的编组通过data formats 处理。您可以从可以封装您的服务的 Camel 路由中调用 POJOs
    2. 查看数据格式。
    3. Camel 带有clusteringload-balancing 支持。但是如果你只有 HTTP 类型的端点来进行负载均衡,那么我个人的意见是你应该使用更加以 http 为中心的方法,比如使用 httpd 作为反向代理/负载均衡器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-23
      • 2012-11-10
      • 2014-04-26
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多