

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解 Amazon Chime SDK 消息传递的架构
<a name="messaging-architecture"></a>

您可以将 Amazon Chime SDK 消息传递作为服务器端和客户端 SDK 使用。服务器端 API 会创建 `AppInstance` 和 `AppInstanceUser`。您可以使用各种挂钩和配置来添加特定于应用程序的业务逻辑和验证。有关如何执行该操作的更多信息，请参阅 [在 Amazon Chime SDK 消息传递中流式传递消息数据](streaming-export.md)。此外，服务器端进程可以代表 `AppInstanceUser` 调用 API，或者控制代表后端进程的专用 `AppInstanceUser`。

Client-side 表示为的应用程序`AppInstanceUser`可以直接调用 Amazon Chime 软件开发工具包消息 API。 Client-side 应用程序在联机时使用该 WebSocket 协议连接到消息传递 SDK。连接后，他们会收到来自他们所属的任何频道的实时消息。断开连接后，`AppInstanceUser` 仍属于其添加的频道，它可以使用 SDK 基于 HTTP 的 API 加载这些频道的消息历史记录。

Client-side 应用程序有权以单个方式进行 API 调用`AppInstanceUser`。要将 IAM 证书的范围限定为单个`AppInstanceUser`，客户端应用程序通过 Cog AWS nito 身份池或小型自托管后端 API 担任参数化的 IAM 角色。有关身份验证的更多信息，请参阅 [对最终用户客户端应用程序进行身份验证以便进行 Amazon Chime SDK 消息传递](auth-client-apps.md)。相比之下，服务器端应用程序的权限通常与单个应用程序实例用户绑定，例如具有管理权限的用户，或者它们有权代表所有应用程序实例用户进行 API 调用。