华为云使用RabbitMQ作为消息引擎,RabbitMQ是一个生产者和消费者模型,主要负责接收、存储和转发消息。以下概念基于RabbitMQ进行描述。
消息
消息一般分为两部分,消息体和标签,标签主要用来描述这条消息,消息体是消息的内容,是一个json体或者数据等。
生产者发送消息,消费组消费消息,生产者与消费者彼此并无直接关系。
生产者(Producer)
即向队列发送消息的一方。发布消息的最终目的在于将消息内容传递给其他系统/模块,使对方按照约定处理该消息。
消费者(Consumer)
接收消息的一方。消费者订阅RabbitMQ的队列,当消费者消费一条消息时,只是消费消息的消息体。在消息路由的过程中,会丢弃标签,存入到队列中的只有消息体。
队列(Queue)
队列是用于存储消息的,生产者将消息送到队列,消费者从队列中获取和消费消息。多个消费者可以同时订阅同一个队列,队列里的消息分配给不同的消费者。
节点(Broker)
消息中间件的服务节点。