消息服务概述¶
消息服务是多租户、快速、可靠且可扩展的。它允许开发者在执行不同任务的分布式应用程序组件之间共享数据,而不会丢失消息或要求每个组件始终可用。
该服务具有 RESTful API 和 Websocket API,开发者可以使用它们通过各种通信模式在 SaaS 和移动应用程序的各个组件之间发送消息。
主要特性¶
消息服务提供以下主要特性
两种通信传输方式可选。两者均支持身份服务
防火墙友好型、基于 HTTP 的 RESTful API。当今许多开发者更喜欢更适合 Web 的 HTTP API。他们重视该协议的简单性和透明性、其防火墙友好性以及其庞大的工具、负载均衡器和代理生态系统。此外,云运营商也欣赏 REST 架构风格的可扩展性方面。
基于 Websocket 的 API,用于持久连接。Websocket 协议通过持久连接提供通信。与为每个请求/响应对打开新连接的 HTTP 不同,Websocket 可以在单个 TCP 连接上传输多个请求/响应。它节省了大量的网络流量并最大限度地减少了延迟。
基于身份服务 ID 的多租户队列。
支持几种常见模式,包括事件广播、任务分发和点对点消息传递。
基于组件的架构,支持自定义后端和消息过滤器。
高效的参考实现,注重低延迟和高吞吐量(取决于后端)。
高可用性和水平可扩展性。
支持队列订阅。有几种通知类型可用
电子邮件通知
Webhook 通知
Websocket 通知
消息服务层¶
消息服务具有以下层
传输层(消息应用程序),可以提供这些 API
HTTP RESTful API(通过
wsgi驱动程序)。Websocket API(通过
websocket驱动程序)。
存储层,保存有关队列和消息的所有数据和元数据。它具有两个子层
管理存储数据库(目录)。可以是
MongoDB数据库(或MongoDB副本集)或 SQL 数据库。消息存储数据库(池)。可以是
MongoDB数据库(或MongoDB副本集)或Redis数据库。