消息队列

更新时间:2023-03-01 07:57:59下载pdf

消息队列 支持系统各类即时消息订阅和转发,例如订阅设备实时日志数据进行本地存储,或者实现和其他系统联动。

工作原理

消息队列通过 Pulsar 主动推送各种被提前订阅的事件数据,以满足对消息实时性和消息持久化的要求。

Pulsar 是一个支持多租户、高性能的服务器到服务器之间消息通讯的解决方案。Pulsar 最初由雅虎开发,后续由 Apache 软件基金会管理。涂鸦消息队列基于开源的 Pulsar 系统进行了深度定制改进。

消息队列作为消息代理,采用了 Pub/Sub (发布/订阅)的设计模式。该设计模式中:

  • 发布:生产者将消息 发布 到主题,然后消费者可以 订阅 这些主题,处理传入消息,并在处理完成时发送确认。消息队列为每个主题分配了多个分区,根据分区向消费者分发消息。

  • 订阅:当订阅被创建时,所有的消息都将被消息队列保留。只有在 消息处理设备 确认消息被成功处理后,保留下来的消息才会被丢弃。一个主题可以由多个消费者订阅,并且当消费者成功处理消息时,消息处理设备需要向消息队列发送确认,以便确认可以丢弃该消息。

消息流程

  • 消息开发流程:

    开通消息订阅
    开通消息测试
    接入消息订阅
    开发具体业务
  • 消息接收流程:

    各业务消息
    消息路由、加密、投递
    Pulsar 集群
    消费者 MqConsumer

安全性

  • 认证安全:

    消息队列针对身份认证进行了深度优化以满足高安全性要求,采用动态令牌机制增强安全,您可忽略实现细节,基于云开发提供的 SDK 完成认证。

  • 数据安全:

    • 传输安全:基于 SSL 传输业务数据。
    • 业务安全:采用 AES-128 加密数据,请求均附上签名。