美文网首页
消息推送案例

消息推送案例

作者: gstsyyb | 来源:发表于2020-06-23 21:05 被阅读0次

    业务场景
    1、C 端扫码收款后,要求商家APP或音箱设备播报语音。
    2、商家收银成功后,商家 APP 的订单列表及时提醒有新订单
    3、远程推送指令给设备(获取设备端日志、网络检测、版本升级、应用卸载、关闭、重启)

    一、基于 redis 队列实现推送
    1、如何保证队列及时消费?多线程消费 + 队列堆积监控,及时消费保证消息不堆积
    2、通过 http异步上报推送结果(也可以采用 kafka,看具体场景),及时分析送达率


    image.png

    二、websocket + netty 实现推送
    1、如何记录设备连接到那个实例上? 在 redis 中记录clientId->conn,clientId->host
    2、推送消息时,查询设备连接的hostId,在 redis 中建立 hostId 的队列,然后将消息发送到队列
    3、设备连接后,消费 redis 队列,获取连接对象发送
    4、设备断线重连后,优先查询上次连接的队列,消息历史消息,然后监听新的队列


    image.png

    三、基于 rabbitmq 的消息队列
    1、设备通过 mqtt 协议直接 rabbitmq,建立队列同时监听队列,接收队列的消息
    2、推送接口构建 routekey,发现消息到指定的队列


    image.png

    相关文章

      网友评论

          本文标题:消息推送案例

          本文链接:https://www.haomeiwen.com/subject/unrkfktx.html