词汇表

消息服务概念

消息服务是一个多租户消息队列实现,它利用 RESTful HTTP 接口提供异步通信协议,这是当今可扩展应用程序的主要要求之一。

队列

队列是一个用于分组消息的逻辑实体。理想情况下,每个工作类型创建一个队列。例如,如果您想压缩文件,您将创建一个专门用于此作业的队列。从该队列读取的任何应用程序都只会压缩文件。

消息

消息通过队列发送,并存在直到被接收者删除或由系统根据 TTL(生存时间)值自动删除。

声明

声明是一种标记消息的机制,以便其他工作者不会处理相同消息。

工作者

工作者是从队列读取一个或多个消息的应用程序。

生产者

生产者是在一个或多个队列中创建消息的应用程序。

发布 - 订阅

发布 - 订阅是一种模式,其中所有工作者应用程序都可以访问队列中的所有消息。工作者不能删除或更新消息。

生产者 - 消费者

生产者 - 消费者是一种模式,其中读取队列的每个工作者应用程序必须声明消息,以防止重复处理。稍后,当工作完成时,工作者负责删除消息。如果消息在预定义的时间内未删除(声明 TTL),则可以被其他工作者声明。

消息 TTL

消息 TTL 是生存时间值,定义了消息可访问的时间长度。

声明 TTL

声明 TTL 是生存时间值,定义了消息处于声明状态的时间长度。一个消息一次只能被一个工作者声明。

队列数据库

队列数据库存储有关队列和这些队列内消息的信息。存储层必须保证数据的持久性和可用性。

池化

如果启用了池化,队列服务将使用多个队列数据库以实现水平扩展。可以在不停止服务的情况下随时添加池(队列数据库)。每个池都有一个在创建时分配但以后可以更改的权重。池化是按队列完成的,这表明特定队列的所有消息都可以在同一个池(队列数据库)中找到。

目录数据库

如果启用了池化,则必须创建目录数据库。目录数据库维护 队列队列 数据库 的映射。存储层必须保证数据的持久性和可用性。