本主题解释如何配置消息代理,其中包括:
- 通过内部传输(Virtualize 服务器中的传输)接收消息,并通过内部、HTTP 或 MQ 传输或发送消息,或者
- 通过 HTTP 或 MQ 传输接收消息,并通过内部传输发送消息。
在本章节中:
为什么使用内部代理?
内部代理将通讯报文转发到(或从)虚拟资产、MQ、HTTP 其他端点,从而最小化 Virtualize 务器外部的通信。这在构建具有高级处理行为的复杂复合资产时尤其有用。
例如,假设您正在建立一个智能路由服务,该服务将传入的 Q 量定向到活动系统、虚拟资产、记录代理或其他端点。如果始终使用 MQ,则这将需要使用许多队列进行复杂的设置。您可以将 MQ 仅用于与 MQ 系统的直接通信,然后将内部传输用于所有其他路由,从而最小化队列的数量(从而优化性能):
然后,您可以根据用户、正在执行的测试场景等使用 Parasoft CTP 动态地更改代理的路由。
内部代理可以将通讯报文:
- 从内部(虚拟资产或另一个内部代理)转发到内部
- 从内部转发到 MQ 或 HTTP
- 从 MQ 转发到内部
配置从内部转发到内部代理
若要配置内部代理将通讯报文转发到虚拟资产或另一个内部代理:
- 请确保 Listen at (incoming)> Connection type 设置为 Internal。
- 在 Listen at (incoming)> Proxy identifier下,为该代理分配标识符。
- 在 Forward to (outgoing)下,请确保 Connection type 设置为 Internal,然后执行以下其中一项:
- 若要要转发到虚拟资产,请选择 Virtual asset,然后指定虚拟资产的完整路径(从 Virtualize 服务器视图中)。对于 Virtual Assets> folder> name上的虚拟资产,您将输入
folder/name
。对于 Virtual Assets> name上的虚拟资产,您将输入name
。 - 若要要转发到内部代理,请选择 Internal message 代理,然后指定分配给该代理的代理标识符。
- 若要要转发到虚拟资产,请选择 Virtual asset,然后指定虚拟资产的完整路径(从 Virtualize 服务器视图中)。对于 Virtual Assets> folder> name上的虚拟资产,您将输入
配置从内部转发到 MQ/HTTP 代理
若要配置内部代理将通讯报文转发到 MQ 或 HTTP 端点:
- 请确保 Listen at (incoming)> Connection type 设置为 Internal。
- 在 Listen at (incoming)> Proxy identifier下,为该代理分配标识符。
- 在 Forward to (outgoing)下,将 Connection type 设置为所需传输(MQ 或 HTTP),然后完成生成的控件。有关配置连接的帮助,请查阅 HTTP 配置 和 MQ 配置 。
MQ 注意事项
用于 Use replyToQueueName for response 和 Worker count 的标准 MQ 配置选项不适用于内部代理。
HTTP 注意事项
Proxy listen path 的标准 HTTP 配置选项不适用于内部代理。相反,内部代理提供一个 Path modifier 配置选项。此选项允许您指定代理应该如何修改传入的 URL。例如,如果 Path modifier 是 "/proxy",输出路径是 "service/abc",则传入 URL"http://virt:9080/proxy/123" 将被更改为 "http://host:port/service/abc/123"。
配置从 MQ 转发到内部代理
若要配置一个内部代理,以便将通讯报文从 MQ 端点转发到内部端点(代理或虚拟资产):
- 请将 Listen at (incoming)> Connection type 设置为 MQ。
- 在 Connection type下,完成生成的控件。有关配置连接的帮助,请查阅 MQ 配置 。
- 在 Forward to (outgoing)下,请确保 Connection type 设置为 Internal,然后执行以下其中一项:
- 若要要转发到虚拟资产,请选择 Virtual asset,然后指定虚拟资产的完整路径(从 Virtualize 服务器视图中)。对于 Virtual Assets> folder> name上的虚拟资产,您将输入
folder/name
。对于 Virtual Assets> name上的虚拟资产,您将输入name
。 - 若要要转发到内部代理,请选择 Internal message proxy,然后指定分配给该代理的代理标识符。
- 若要要转发到虚拟资产,请选择 Virtual asset,然后指定虚拟资产的完整路径(从 Virtualize 服务器视图中)。对于 Virtual Assets> folder> name上的虚拟资产,您将输入