设计消息流时,请考虑几点设计因素,包括以下部分或全部因素:
- 哪些节点提供了您需要的功能。在许多情况下,您可以在提供合适功能的多个节点中进行选择。您可能要考虑此处列出的其他因素,以确定那个节点最能满足您的整体需求。可包含内置节点、用户定义的节点和子流节点。有关更多信息,请参阅确定使用哪个节点。
- 是否适合包含多个输入节点。有关更多信息,请参阅使用多个输入节点。
- 如何指定输入消息的特征。有关更多详细信息,请参阅定义输入消息特性。
- 您是否要根据消息的内容或特征确定消息在消息流中的经过的路径。有几个节点提供消息的检查或验证,以及可连接到的 output 终端以将特定消息导向到不同的节点。这在使用节点作出决定中会有详细的描述。
- 您是否能使用提供明确的处理的子集的子流。您可能可以重用为另一个项目创建的子流(例如,错误处理例程)。或者,您可能想要在当前项目中创建一个子流,并在同一消息流中的多个地方重用该子流。有关更多信息,请参阅使用子流。
- 您的应用程序期待消息流有什么样的响应时间。这受您如何配置您的节点和流的多方面的影响。有关更多信息,请参阅优化消息流响应时间。
- 是否可以使用与消息关联的 LocalEnvironment 中的目的地列表来确定消息流中的处理(使用 RouteToLabel 和 Label 节点)或输出消息的目标(例如,通过将 MQOutput 节点的目的地方式属性设置为目的地列表)。有关更多信息,请参阅创建目的地列表。
- 您是否要使用 WebSphere MQ 群集队列。有关更多信息,请参阅使用 WebSphere MQ 集群队列以用于输入和输出。
- 您是否要使用 z/OS 上的 WebSphere MQ 共享队列。它们的用法在使用 WebSphere MQ 共享队列以用于输入和输出(z/OS)中会有详细的描述。
- 您是否要验证输入节点接收到的输入消息和/或 Compute 节点生成的输出消息。有关更多信息,请参阅验证消息。
- 是否要查看或记录 Trace 节点输出中的消息结构。有关如何执行该操作的信息位于查看跟踪输出中的逻辑消息树。
- 您的消息流是否要访问数据库中的数据。必须配置消息流节点、数据库和数据库连接以启用该功能,如从消息流访问数据库所述。
- 您的消息是否必须在事务中处理。有些内置节点有可让您设置控制如何管理事务和消息是如何在事务中处理的属性。有关更多信息,请参阅配置协调的消息流。
- 您是否要让您的消息经过数据转换。您拥有的选项在配置用于数据转换的消息流中描述。
- 您采用哪些步骤以确保消息不会丢失。有关更多信息,请参阅确保消息未丢失。
- 错误是如何在消息流中处理的。您可以使用代理提供的工具来处理任何在消息流执行期间遇到的错误(例如,如果输入节点未能检索输入消息,或者写到数据库发生错误)。但是,您可能更希望设计您自己的消息流,以便按特定的方法处理错误。有关更多信息,请参阅处理消息流中的错误。
有关开发消息流的基本介绍,请参阅WebSphere Message Broker 基础 IBM 红皮书。