【问题标题】:Performance of Nats JetstreamNats Jetstream 的性能
【发布时间】:2022-01-01 16:03:17
【问题描述】:

我正在尝试了解 Nats Jetstream 如何扩展并有几个问题。

  1. 通过主题订阅历史消息的效率如何?例如,假设有一个流 foo,其中包含 1 亿条主题为 foo.bar 的消息,然后是一条主题为 foo.baz 的消息。如果我然后从流的开头订阅foo.baz,服务器上的某些东西必须对foo中的所有消息执行线性扫描,或者它是否能够立即寻找foo.baz消息。

  2. 系统的水平扩展能力如何?我问是因为我在让 Jetstream 扩展到每秒数千条消息以上时遇到问题,无论我向它扔了多少台机器。测试参数如下:

    • Nats 服务器 2.6.3 在 4 个核心 8GB 节点上运行
    • 单流复制 3 次(磁盘或内存中似乎没有区别)
    • 500 字节消息负载
    • n 发布者每人每秒发布 1k 条消息 瓶颈似乎在发布方面,因为我检索消息的速度至少与发布消息的速度一样快。

【问题讨论】:

    标签: go jetstream nats.io


    【解决方案1】:

    最好能就此发表意见。我有类似的行为,为发布者实现更高吞吐量的唯一方法是降低复制(从 3 到 1),但这不是一个可接受的解决方案。

    我尝试添加更多资源(cpu/ram),但没有成功提高发布率。

    此外,水平缩放没有任何区别。

    在我的情况下,我正在使用 Bench 工具发布到 js。

    【讨论】:

    • 也许这篇文章最好作为对问题的评论。
    • 可能没有代表
    猜你喜欢
    • 2022-06-20
    • 2022-08-20
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2021-10-29
    • 2021-07-14
    • 2022-12-20
    • 2023-03-07
    相关资源
    最近更新 更多