词汇表¶
消息服务概念¶
消息服务是一个多租户消息队列实现,它利用 RESTful HTTP 接口提供异步通信协议,这是当今可扩展应用程序的主要要求之一。
- 队列¶
队列是一个用于分组消息的逻辑实体。理想情况下,每个工作类型创建一个队列。例如,如果您想压缩文件,您将创建一个专门用于此作业的队列。从该队列读取的任何应用程序都只会压缩文件。
- 消息¶
消息通过队列发送,并存在直到被接收者删除或由系统根据 TTL(生存时间)值自动删除。
- 声明¶
声明是一种标记消息的机制,以便其他工作者不会处理相同消息。
- 工作者¶
工作者是从队列读取一个或多个消息的应用程序。
- 生产者¶
生产者是在一个或多个队列中创建消息的应用程序。
- 发布 - 订阅¶
发布 - 订阅是一种模式,其中所有工作者应用程序都可以访问队列中的所有消息。工作者不能删除或更新消息。
- 生产者 - 消费者¶
生产者 - 消费者是一种模式,其中读取队列的每个工作者应用程序必须声明消息,以防止重复处理。稍后,当工作完成时,工作者负责删除消息。如果消息在预定义的时间内未删除(声明 TTL),则可以被其他工作者声明。
- 消息 TTL¶
消息 TTL 是生存时间值,定义了消息可访问的时间长度。
- 声明 TTL¶
声明 TTL 是生存时间值,定义了消息处于声明状态的时间长度。一个消息一次只能被一个工作者声明。
- 队列数据库¶
队列数据库存储有关队列和这些队列内消息的信息。存储层必须保证数据的持久性和可用性。
- 池化¶
如果启用了池化,队列服务将使用多个队列数据库以实现水平扩展。可以在不停止服务的情况下随时添加池(队列数据库)。每个池都有一个在创建时分配但以后可以更改的权重。池化是按队列完成的,这表明特定队列的所有消息都可以在同一个池(队列数据库)中找到。
- 目录数据库¶
如果启用了池化,则必须创建目录数据库。目录数据库维护
队列到队列 数据库的映射。存储层必须保证数据的持久性和可用性。