消息服务概述

消息服务是多租户、快速、可靠且可扩展的。它允许开发者在执行不同任务的分布式应用程序组件之间共享数据,而不会丢失消息或要求每个组件始终可用。

该服务具有 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 数据库。