排队Biztalk订阅

排队Biztalk订阅,biztalk,Biztalk,我们有一个使用MLLP HL7加速器向BizTalk发送HL7消息的系统。然后我们有几个目的地系统,它们都需要它们自己的HL7消息格式,所以我们为每个目的地使用编排,每个都涉及不同的转换。每个orchestrationi使用一个筛选器订阅接收端口。这个订阅模型工作得相当好,但是如果我们需要停止或取消部署其中一个业务流程,该怎么办呢。与推送模式相比,订阅模式的缺点是没有内置队列,因此如果业务流程被删除,接收端口接收的消息不会为该系统排队。或者这是一个问题?您如何处理业务流程的升级等。是否有更好的设

我们有一个使用MLLP HL7加速器向BizTalk发送HL7消息的系统。然后我们有几个目的地系统,它们都需要它们自己的HL7消息格式,所以我们为每个目的地使用编排,每个都涉及不同的转换。每个orchestrationi使用一个筛选器订阅接收端口。这个订阅模型工作得相当好,但是如果我们需要停止或取消部署其中一个业务流程,该怎么办呢。与推送模式相比,订阅模式的缺点是没有内置队列,因此如果业务流程被删除,接收端口接收的消息不会为该系统排队。或者这是一个问题?您如何处理业务流程的升级等。是否有更好的设计模式

在我看来,更好的设计是将转换映射直接放在发送端口上。然后,您可以在不同的发送端口上设置筛选器,以路由到目标系统

这种设计将使更新更容易一些,因为部署新版本的地图时不需要首先删除编排。然后,您所要做的就是停止使订阅保持活动状态的端口,消息将排队等待其订阅端口。停止端口后,您可以使用新版本的映射修改资源程序集,然后启动到端口以开始转换和发送排队消息


通常,只有在需要控制更复杂的工作流时才使用编排是一个好主意,而不仅仅是像您这样应用映射

在我看来,更好的设计是将转换映射直接放在发送端口上。然后,您可以在不同的发送端口上设置筛选器,以路由到目标系统

这种设计将使更新更容易一些,因为部署新版本的地图时不需要首先删除编排。然后,您所要做的就是停止使订阅保持活动状态的端口,消息将排队等待其订阅端口。停止端口后,您可以使用新版本的映射修改资源程序集,然后启动到端口以开始转换和发送排队消息


通常,只有在需要控制更复杂的工作流时才使用编排是一个好主意,而不仅仅是像您这样应用映射

+1。很好的建议,可以在我们的大部分场景中使用。在一些仍然需要编排的更复杂的项目中,您知道我可以采用哪些设计模式来缓解我所描述的情况吗?因为一条消息可以有多个订阅者,所以可以使用带有出站映射的发送端口和筛选器表达式。您可以将发送端口上的筛选器与筛选的业务流程一起使用。当您停止业务流程并将其登记时,它仍将对消息进行排队,这样您就不会丢失任何内容,并且在您重新启动它后,它将处理排队的内容。+1。很好的建议,可以在我们的大部分场景中使用。在一些仍然需要编排的更复杂的项目中,您知道我可以采用哪些设计模式来缓解我所描述的情况吗?因为一条消息可以有多个订阅者,所以可以使用带有出站映射的发送端口和筛选器表达式。您可以将发送端口上的筛选器与筛选的业务流程一起使用。当您停止业务流程并将其登记时,它仍将对消息进行排队,这样您就不会丢失任何内容,并且在您重新启动它后,它将处理排队的内容。