主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

MATLAB Production Server 参考架构上执行 MATLAB 函数

云端 MATLAB® Production Server™ 的客户端应用程序与本地服务器实例的客户端应用程序在几个方面有所不同。要执行部署在云端 MATLAB Production Server 上的 MATLAB 函数,必须使用仪表板中指定的 MATLAB 执行端点 URL。根据客户端程序的实现,您可能必须更新代码以使用 Azure® 应用程序网关自签名 SSL 证书和基于 cookie 的会话亲和性。

与本地服务器安装的客户端应用程序类似,您必须对使用 Java®、.NET、C 和 Python® 编写的客户端应用程序使用 MATLAB Production Server 客户端库。

使用 MATLAB 执行端点 URL

在您将 MATLAB Production Server 部署到 Azure 后,登录仪表板以检索 MATLAB 执行端点。仪表板中的 Overview 选项卡指定 MATLAB Execution Endpoint。有关访问仪表板的信息,请参阅连接到仪表板

此端点是一个 HTTPS URL,客户端程序使用它向服务器发出请求并执行部署到服务器的 MATLAB 函数。例如,如果您服务器的 MATLAB 执行端点是 https://mpst4ezclcdtlcay.eastus.cloudapp.azure.com,则要使用 MATLAB Production Server RESTful API 执行位于已部署应用程序 mymagic 中的 MATLAB 函数 myapp,请指定 URL https://mpst4ezclcdtlcay.eastus.cloudapp.azure.com/myapp/mymagic

下载客户端库

如果您想用 Java、.NET、C 和 Python 编写客户端程序来调用部署在服务器上的 MATLAB 函数,则必须使用 MATLAB Production Server 客户端库。要下载客户端库,请参阅 MATLAB Production Server 客户端库

使用自签名证书

部署中的 Azure 应用程序网关需要 SSL 证书。应用程序网关提供 MATLAB 执行端点,这是客户端程序用来向服务器发送请求的 HTTPS URL。建议应用程序网关使用由证书颁发机构签名的 SSL 证书。但是,如果您的应用程序网关使用自签名证书,您的客户端程序可能需要进行一些修改。

客户端程序可能需要禁用主机名验证,以避免遇到因主机名验证失败而导致的异常。由于 MATLAB 函数执行的 HTTPS URL 中的主机名与自签名证书的通用名称 (CN) 不匹配,验证可能会失败。例如,MATLAB 执行端点的主机名可以具有值 <uniqueID>.<location>.cloudapp.azure.com,但自签名证书的 CN 可以具有值 azure.com

根据客户端程序的实现,您可能还必须检索应用程序网关使用的自签名证书并将该证书添加到本地信任库。有关配置客户端环境的更多信息,请参阅 Java 客户端的 处理异常 和 .NET 客户端的 处理异常

管理 HTTP Cookie

Azure 应用程序网关提供基于 cookie 的会话亲和性,它使用 cookie 将用户会话保留在同一台服务器上。在接收到来自客户端程序的请求后,应用程序网关会将 Set-Cookie HTTP 响应标头设置为有关处理该请求的服务器虚拟机 (VM) 的信息。

异步请求执行

使用异步请求执行部署到服务器的 MATLAB 函数的客户端程序必须将所有后续请求的 Cookie HTTP 请求标头设置为 Set-Cookie 标头的值。这可确保处理第一个请求的同一服务器虚拟机处理该会话的所有后续请求。

同步请求执行

使用同步请求执行部署到服务器的 MATLAB 函数的客户端程序不得将 Cookie HTTP 请求标头设置为 Set-Cookie 标头的值,并且必须清除 Cookie 标头的值(如果之前已设置)。这可以确保同步请求的负载平衡,并且同一台服务器虚拟机不会处理它们。

使用 MWHttpClient 的 Java 客户端中的默认属性设置 HTTP cookie。有关禁用 cookie 的信息,请参阅 配置客户端-服务器连接。使用 protobuf 的 Java 客户端 API 和 .NET 客户端 API 默认不设置 HTTP cookie。

另请参阅

主题