Skip to content
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

AIRIOT智慧系统搭建平台经验交流

  1. 主页
  2. 平台安装
  3. v4.0 天翼 driver-ctwing-mq

v4.0 天翼 driver-ctwing-mq

已定时 已固定 已锁定 已移动 平台安装
帖子 发布者 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    dcm
    回复了Zhang书书 最后由 编辑
    #5

    @Zhang书书 咋样了呢?这个同一驱动的多种设备模型的执行挺重要的。

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 编辑
    #6

    这两张表的设备配置发一下,我们这边看一下

    D 1 条回复 最后回复
    0
  • D 离线
    D 离线
    dcm
    回复了Zhang书书 最后由 编辑
    #7

    @Zhang书书 两张表的配置几乎一摸一样,只有脚本里的logger输出加了区分标记。
    af93178e-a449-4575-93dd-d1a360e2391c-image.png
    ![6a172065-afde-41f6-8451-f01137373c3f-image.png]
    20b2c830-bb6c-4c06-a28c-7a695f027de6-image.png

    这种情况同样出现在两种设备同时使用同一个tcpserver驱动服务下。本质问题还是一样的。

    同一个驱动服务应用在不同的设备(表)时,同一个消息数据只能被一种设备(设备的脚本)使用(如果每次同一个消息数据被分发到同一个驱动服务下所有设备(设备脚本)中是满足的我的使用的,但是现在不是),最重要的这个数据的使用是混乱的,即有时候这个设备消费有时候另一个设备消费。

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 Zhang书书 编辑
    #8

    我明白您的意思了,您这个地址是哪里来的,地址是正确的吗,还有其他的几个配置项是正确的吗
    image.png

    Zhang书书Z D 2 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 编辑
    #9

    Pulsar 消费模式

    Apache Pulsar 提供了多种灵活的消费模式,以满足不同场景下的消息处理需求。以下是 Pulsar 的主要消费模式:

    1. 独占模式 (Exclusive)

    • 特点:一个订阅只允许一个消费者消费消息
    • 行为:如果多个消费者尝试使用相同的订阅连接到主题,只有第一个消费者能成功连接,其他消费者会收到错误
    • 适用场景:需要严格顺序处理的场景

    2. 故障转移模式 (Failover)

    • 特点:多个消费者可以附加到同一订阅,但只有一个主消费者能接收消息
    • 行为:当主消费者断开连接时,消息会传递给下一个消费者(按优先级顺序)
    • 适用场景:需要消费者高可用的场景

    3. 共享模式 (Shared / Round Robin)

    • 特点:多个消费者可以共享同一订阅,消息以轮询方式分发给消费者
    • 行为:消息被均匀分配给所有可用的消费者
    • 注意:不保证消息顺序
    • 适用场景:需要水平扩展消费能力的场景

    4. Key_Shared 模式 (Key-Shared)

    • 特点:多个消费者共享订阅,但相同键的消息总是路由到同一个消费者
    • 行为:保证相同键的消息顺序,同时允许水平扩展
    • 适用场景:需要按键保证顺序且需要扩展消费能力的场景

    消费确认机制

    Pulsar 支持两种确认模式:

    1. 单条确认 (Individual Ack):显式确认单条消息
    2. 累积确认 (Cumulative Ack):确认某条消息及其之前的所有消息

    其他消费特性

    • 重试队列:处理失败的消息可以发送到重试队列
    • 死信队列:超过最大重试次数的消息会被发送到死信队列
    • 消息重放:消费者可以重置游标以重新消费消息
    • 批处理消费:支持批量消息的发送和消费

    选择哪种消费模式取决于您的具体需求,包括消息顺序要求、消费能力扩展需求以及容错需求等。

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    回复了Zhang书书 最后由 Zhang书书 编辑
    #10

    @Zhang书书 这个我跟我们这边的研发同事讨论过了,天翼云的这个消息队列用的是pulsar, 有4种消息消费模式, 每一种好像都不能满足您的需求。同一个订阅 天翼只有一个能收到,标准mqtt应该可以支持您的这种需求,要不考虑试一下标准的mqtt驱动

    D 1 条回复 最后回复
    0
  • D 离线
    D 离线
    dcm
    回复了Zhang书书 最后由 编辑
    #11

    @Zhang书书 这里的配置是真实的地址我已经隐藏了,是可以收到天翼的推送的。

    1 条回复 最后回复
    0
  • D 离线
    D 离线
    dcm
    回复了Zhang书书 最后由 dcm 编辑
    #12

    @Zhang书书 现在我疑惑的是,同一个驱动服务对于不同种类的设备(表)接收数据的消费方式,因为不同设备选择驱动时可以选择同一个驱动服务,那对于不同设备的脚本对数据处理是每种设备的脚本都能处理还是只推一个?因为这种疑惑同样在tcpserver下也遇到了。

    1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    编写 最后由 Zhang书书 编辑
    #13

    这个不一定
    这个主要看实际用的协议

    一个tcpserver实际上一个tcp服务器, 对外只有1个端口, 所以脚本在驱动实例上, 收到数据处理后, 返回的时候通过表id, 设备id来确定数据应该保存到哪个设备下

    mqtt驱动, 目前有2种模式, 如果在驱动实例配置中, 选了"只使用实例主题和脚本", 那这个驱动程序就只用驱动实例的配置, 启动一个mqtt客户端接收数据, 然后用驱动实例的脚本进行解析
    不选"只使用实例主题和脚本"的情况下, 每个选了这个驱动的设备表, 单独启动一个mqtt客户端, 用表里的脚本进行解析(如果表脚本为空, 脚本用驱动实例的, 其他逻辑不变), 这个情况下, 每个客户端都能收到订阅的消息, 表现就是每个表的脚本都能收到消息

    天翼云的消息队列是pulsar, 平台是每个表启动一个客户端, 但是定义同一个topic时, 消息是分发的, 这个是pulsar的特性.

    D 1 条回复 最后回复
    0
  • D 离线
    D 离线
    dcm
    回复了Zhang书书 最后由 编辑
    #14

    @Zhang书书
    多谢,mqtt的说明我明白了。
    在tcpserver中,两种表绑定同一个tcpserver下,是两个tcpserver实例,还是共享一个?因为这时候只有一个服务一个端口,两种表的脚本是否都能收到同一次数据推送呢?我在实际使用时发现两种脚本每次推送都是只能有一种表脚本解析。

    Zhang书书Z 1 条回复 最后回复
    0
  • Zhang书书Z 离线
    Zhang书书Z 离线
    Zhang书书
    回复了dcm 最后由 编辑
    #15

    @dcm 两种表绑定同一个tcpserver下,使用的是一个tcpserver驱动实例,表上没有单独配置脚本的地方,一个tcpserver驱动,只能在驱动实例上配置一个脚本

    1 条回复 最后回复
    0

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组