所有总线配置的常见问题
存在适用于所有类型的服务集成总线配置的规划问题和设计决策。
规划服务集成总线配置时,请考虑事项:
- 总线需要处理的消息量。根据预期消息量的不同,可能必须调整总线或消息传递引擎的“消息阈值上限”设置。
- 在消息传递引擎之间进行通信时要使用的传输链。有关更多信息,请参阅传输链。
- 总线安全性是否是必需的。当启用了总线安全性时,对总线本身以及该总线上所有目标的访问必须经过授权。如果启用了总线安全性,那么您可能还想定义别名,以便对访问该总线的消息传递引擎和调解进行认证。单版本总线不需要认证别名。 但是,如果您创建混合版本的总线,那么必须为 WebSphere® Application Server V6 或 V6.1 总线成员定义引擎间认证别名,以使它能够与更高版本的其他总线成员建立信任关系。
- 您必须选择符合 IBM MQ 队列管理器命名限制的总线名称。创建总线之后,您无法更改总线名称,这意味着您将来只有使用符合命名限制的名称,才能与 IBM MQ 进行互操作。请参阅相关链接中有关 IBM MQ 命名限制的主题。
- 当您为总线命名时,必须确保名称唯一,因为您无法连接两条同名总线。例如,您无法使用下列任何方式来连接两条同名总线:
- 在两条同名总线之间创建总线间链路。
- 尝试从正在远程单元(此单元定义了同名总线)中运行的应用程序连接至远程总线。
- 在两个包含同名总线的单元之间创建核心组网桥。
- 目标
- 对于您的配置,必须确定目标的数目和类型、调解、目标路由路径以及目标的服务质量。对于点到点消息传递,将总线目标定义为队列;而对于发布/预订消息传递,将总线目标定义为主题空间。
- (仅适用于点到点消息传递)选择一个总线成员作为用来存放队列消息的指定总线成员。此操作将自动地为指定总线成员中的每个消息传递引擎定义队列点。
- 还可以定义别名目标,以在应用程序与底层目标总线目标之间提供一个间接层。应用程序与别名目标进行交互,因此,可以在不必更改应用程序的情况下更改目标总线目标。
- 您应该确定总线目标的使用方式,因为您可以将总线目标配置为防止生产者将消息发送至该目标或者防止使用者从该目标中接收消息。
- 消息持久性
- 目标上的消息的服务质量可靠性对性能以及消息存储器所需的空间量有影响。可靠性级别越高,对性能的影响就越大,并且由于此时丢弃的消息越少,消息存储器所需空间也就越多。
- 当您规划消息存储器配置时,请记住每个消息传递引擎都有一个消息存储器,该消息存储器可以是文件存储器或数据存储器。请参阅文件存储器与数据存储器的相对优点。请记住,大型消息将增加消息存储器需要的空间。
- 如果使用数据存储器,那么用于数据存储器的缺省数据库系统是 Apache Derby V10.3。但是,您可能想要使用另一系统,如 DB2®。根据需求的不同,可以选择不同的数据存储器配置;有关更多信息,请参阅规划消息传递引擎的配置以使用数据存储器。
- 应用程序环境
- 应用程序作为客户机连接至总线上的消息传递引擎,这是通过进程内调用进行的,或者是使用远程客户机来通过网络进行的。远程客户机可以在 Java™ EE Application Client 环境中或 Java EE 应用程序服务器环境中运行。可以使用各种传输链。
- 应用程序连接
- 选择消息传递引擎的方式以及应用程序访问该消息传递引擎时采用的机制是在 JMS 连接工厂中配置的。您需要确定应用程序应该连接到哪些消息传递引擎以及应该使用哪个传输链。有关连接工厂的更多信息,请参阅为缺省消息传递提供程序配置资源,有关传输选项的更多信息,请参阅传输链。
- IBM MQ 客户机链路
- IBM MQ 客户机链路允许为 WebSphere Application Server V5.1 开发的 JMS 客户机使用总线上的消息传递资源。WebSphere Application Server V5.1 使用 IBM MQ 队列管理器作为其 JMS 提供程序,以便 WebSphere Application Server V5.1 客户机使用 MQ 链路协议进行连接。服务集成中的 IBM MQ 客户机链路提供了这些客户机可以使用的连接功能。
- 事务日志
- 规划事务日志的存储位置。请参阅相关链接中有关事务高可用性的主题。