【问题标题】:AMQP AmqpBinding IIS/WAS problems?AMQP AmqpBinding IIS/WAS 问题?
【发布时间】:2012-04-17 22:51:42
【问题描述】:

当前雇主的设置在 Java 平台上具有一组后台功能,在两个独立的基于 .NET 的平台上具有另一组功能。没有整体架构师。

Java 人员决定使用 Apache QPID 和 AMQP 进行消息传递,大概是在他们之间,使用 .NET 系统和其他外部系统。

.NET 体系结构涉及托管在 IIS/WAS 和 Windows Server AppFabric 中的 WCF 服务。

是否有人对 AmqpBinding 和 IIS/WAS 有任何经验,如果有任何可能的陷阱?

【问题讨论】:

    标签: wcf iis amqp was


    【解决方案1】:

    我认为您的第一个问题将是 IIS/WAS/AppFabric,因为托管在 WAS 中的非 HTTP 服务对基础架构有额外的要求,其中包括通常作为 Windows 服务运行并与工作进程通信的额外进程(侦听器)。这个过程负责接收和发送消息,并允许在 WAS 中激活服务。我不认为 QPID 项目已经创建了侦听器进程。您很可能必须自己实现侦听器 - 检查 this sample 以获取自定义 UDP 激活器。

    【讨论】:

    • 谢谢。在我发布问题后的一段时间,我还发现 QPID 没有可用的侦听器激活器。让我想知道 MS 一直在 AMQP 板上做了什么? WAS 激活的一个主要好处是,从 .NET 的角度来看,输入消息可以“推送”到 WCF。我们将能够只公开 ServiceContracts 并让绑定完成它的工作。没有这个..好吧,现在他们提出了可怕的选择,包括例如用于传入的 SOAP 和用于传出的 AMQP :( 事务范围、消息相关性等技能不在这里 :(
    • 我还应该补充一点,这里 90% 的系统都是 .NET,其中有一个较小但关键的 Java 组件。无论如何,方向是基于 JBOSS 的 ESB。
    • WAS 有其自身的局限性,它直接来自 IIS 架构,其中 HTTP 也由 http.sys 内核驱动程序在外部处理。您可以尝试在 Windows 服务中构建侦听器或托管 WCF 服务。或者,您可以直接使用 AMQP,但无需 IIS/WAS。这不仅是您的协议问题,也是企业世界中使用的每个消息传递基础设施的问题。基于 Java 的 ESB 是一个不错的选择,因为 MS 没有提供任何廉价的替代方案(他们只有 BizTalk),而且在开源方面,Java 解决方案通常比 .NET 解决方案成熟得多
    • BizTalk 和 Azure AppFabric ServiceBus,正确。更不用说所有让 .NET 商店中的 Java ESB 有点可疑的免费软件组件和内部 .NET 开发人员。我们没有很多接口,我很难称这个地方为企业。然而,这无关紧要。我将快速浏览一下 Spring.NET。我想知道那里有没有便宜的胶水。
    • Spring.NET 仅包装现有的消息传递库 - Apache NMS(用于连接到 JMS 实现 - 尤其是 ActiveMQ)、Tibco EMS 和 MSMQ。还计划添加 IBM XMS 以连接到 IBM JMS 实现和 IBM WebSphere MQ,但我认为它还没有实现。
    猜你喜欢
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多