0

目前我正在为一个项目将 TIBCO RV 迁移到 NATS IO。我很想知道是什么内部架构使 NATS IO 在其网站http://nats.io/about/中声称具有卓越的性能。我在网上找不到任何解释 nats 内部结构的资源。有人可以帮我吗?

4

3 回答 3

4

协议文档中对 NATS 的创建者 Derek Collison的演示文稿中引用了一个很好的概述。他涵盖了 NATS 的一些高性能领域,包括零分配字节解析器、主题管理算法和 golang 优化。

NATS 是开源的——实现细节可以在 gnatsd存储库中找到。协议解析器主题处理将是需要关注的几个方面。

于 2017-09-28T15:38:49.990 回答
1

当然,我大量参与了 RV 和 NATS。我并不是说 NATS 比 RV 快。虽然我设计和建造了这两种产品,但多年来我没有测试过 RV 的任何性能。NATS 应该比较好,当然是 OSS,并且有一个简单的基于 TEXT 的协议与 RV 的二进制协议。NATS 也是使用 TCP/IP 的覆盖设计,类似于我也设计的 TIBCO 的 EMS,但是 RV 可以使用多播 (PGM) 或可靠广播。因此,在大多数情况下,RV 在大扇出时会更有效。

于 2018-09-30T17:49:30.430 回答
1

一般来说,消息系统的性能与 IMO 的 3 个简单的事情有关。

  1. 每个 IO 调用可以处理多少消息或从用户空间跳转到内核空间。

  2. 您可以多快路由消息以进行分发,例如主题分发者。

  3. 系统复制数据以实现#1 合并消息的效率如何。

于 2018-09-30T20:45:49.167 回答