问题标签 [nats.io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
223 浏览

go - NATS 订阅后只接收消息

我正在尝试使用"github.com/nats-io/go-nats"包与云中的 NAT 服务器通信。

我是这样设置的:

之后我订阅了队列:

我的实际问题是,订阅似乎没有效果。偶然我发现订阅处理程序在我发布至少一条消息后被触发。因此,当订阅者也是发布者时,它似乎可以工作。这是发布的代码:

有谁知道这个问题来自哪里?

0 投票
1 回答
784 浏览

python-3.x - 调试来自 Kubernetes 事件的 NATS 消息

我有一个简单的脚本来监视 Kubernetes 事件,然后将消息发布到 NATS 服务器:

在启用事件发布的情况下运行它时,我可以看到正在输出事件 JSON。

但是,由于某种原因,我的接收器实际上并没有收到删除事件的 NATS 消息。

  • 我怎样才能调试到主题的消息?我可以添加什么来验证消息通过代码进入主题吗?
  • 我的异步逻辑在这里正确吗?
  • 为什么删除事件不能以这种逻辑进入主题?
0 投票
1 回答
689 浏览

nats.io - 如何订阅大文件?- NATS Streaming 订阅问题

我是新的 NATS。我只是尝试使用 NATS-streaming-server 示例发送和接收文本文件。

当我发送一个文本文件(~9B)时,它可以工作


-Pub 连接到集群 'test-cluster' 作为客户端 'cs-publisher'。在主题 foo Url 上发布 1 条消息:nats://localhost:4222 有效负载为 9 个字节。在 0.0076917 秒(130 条消息/秒)内发布了 1 条带有确认的消息。

-Sub 作为客户端“cs-subscriber”连接到集群“test-cluster”。在主题 foo url 上接收 1 条消息:nats://localhost:4222 在 6E-07 秒内收到 1 条消息(1666666 条消息/秒)。


但是,当我发送一个文本文件(~80MB)时,订阅不起作用。


-Pub 作为客户端“cs-publisher”连接到集群“test-cluster”。在主题 foo Url 上发布 1 条消息:nats://localhost:4222 有效负载为 77552640 字节。在 1.2574163 秒(0 条消息/秒)内发布了 1 条带有确认的消息。

-Sub 作为客户端“cs-subscriber”连接到集群“test-cluster”。在主题 foo url 上接收 1 条消息:nats://loaclhost:4222


我不知道为什么订阅没有反应。我使用了相同的代码,只是更改了我发送的文件。

byte[] 有效载荷 = File.ReadAllBytes("test.txt");

……

字符串 guid = c.Publish(主题,有效负载,(obj,pubArgs)=>

请帮我

0 投票
1 回答
8157 浏览

nats.io - 是否有 NATS Web UI 工具来监控消息?

是否有任何工具可用于监控通过 NATS 队列发布的实际消息?对于演示文稿,我需要显示通过微服务架构显示的消息,通过现有解决方案而不是自己编写一个解决方案会很好。
我现在有 Natsboard ( https://github.com/devfacet/natsboard ) 但它不允许显示现有消息。
很高兴得到你们的一些提示。

问候
帕特里克

0 投票
0 回答
373 浏览

scala - 无法反序列化由 scalapb 编码的 protobuf

我正在尝试编码 protobuf 对象(由 scalapb 准备)并将其传递给用 python 编写的另一个服务(我认为,这没关系,但我使用 NATS.io 作为消息传递系统)。

Python protobuf 反序列化器无法反序列化此消息,我认为,它期待类似于 hex string 的东西\xc0\xa9\xb6\xe3,但它接收到类似的东西[B@7d958728

我做错了什么?如何获得字节数组的必要表示?

0 投票
1 回答
118 浏览

php - PHP NATS 从函数中发送结果

我在 PHP NATS 方面遇到了一些麻烦。我正在获取并打印 msg 正文值。一切正常。只返回结果就是问题所在。这是代码

echo正在工作并打印值,而如果我这样使用,则 return 不会返回任何内容。

0 投票
0 回答
556 浏览

messaging - NATS 的订购保证是否涵盖发布到多个主题?

https://nats.io/documentation/faq/#ordering

NATS 实现每个发布者的源订单交付。

在登录服务从用户服务订阅主题的以下情况下,NATS 是否保证消息排序,其中所有消息传递都在单个 NATS 集群上运行(没有 NATS 流):

用例:用户服务(Java 客户端)在主题“query.users”上侦听请求消息。当消息到达时,它将当前用户列表发布到响应主题。在用户服务中,可以创建新用户,从而在“users.updates”主题中发布更新消息。

如果登录服务在启动时首先订阅“users.updates”,然后立即查询“query.users”,它将接收当前用户列表和该列表的更新,因此它可以保存用户列表的最终一致副本。

问题:如果用户服务收到“query.users”查询并发送用户列表作为响应(在查询生成的主题中),然后立即在“users.updates”主题中发送更新消息,

是保证

  • 登录服务将首先接收生成主题中的查询响应,然后接收“users.updates”主题中的更新消息,或者
  • 登录服务将收到这两条消息,但顺序不确定

或者是否会发生对“users.updates”的订阅没有足够快地建立并且登录服务从未收到更新消息,但确实收到了查询的用户列表?


或者,同样的问题,更抽象

一个 NATS 集群,没有 NATS 流...

Java客户端A有一个监听主题X的调度器。当消息到达时,它首先向replyTo主题发布响应,然后立即向Y主题发布消息。

如果 Java 客户端 B 首先订阅 Y,然后立即向主题 X 发送查询,我们希望客户端 B 将同时收到响应和消息。

是否保证,客户 B 将

  • 首先接收响应,然后接收Y 上的消息,或者
  • 接收两个消息,但顺序不确定

或者是否会发生对 Y 的订阅没有足够快地建立并且客户端 B 从未收到 Y 上的消息,尽管它收到了对其查询的响应?

0 投票
1 回答
380 浏览

node.js - 使用 nats 与 angular 与 Hemerajs 微服务服务器讨论

我需要一条建议。事实上,我正在编写一个 Hemerajs ( Hemerajs ) 服务器应用程序和一个 NATS ( NATS ) 消息服务器。此外,我想通过 NATS 发布/订阅系统在该服务器上插入一个 Angular 6+ 前端应用程序。但是我没有找到任何使用 nats 的包或帮助。

我可能误解了模式消息传递行为,也许消息传递系统仅在微服务服务器内部,角度和节点之间的通信必须使用 REST API?

你能帮我找到正确的包或实现这个的正确方法吗?

谢谢

问候

0 投票
1 回答
371 浏览

nats.io - 如何限制 nats 流服务器中的 raft.log 大小?

我在集群模式下设置了 nats 流服务器(根据在此处找到的说明),当我以大约 200msg/s 的负载(其中消息大小约为 1MB)对其进行基准测试时,我注意到raft.log增长非常快。
我使用默认频道设置:

是否有任何配置参数可以帮助限制文件大小或截断文件?

0 投票
2 回答
5720 浏览

go - 使用 nats-streaming 发送大于 1MB 的消息?

我正在尝试使用 nats 消息服务发送文件。文件的大小可能会有所不同。有没有办法在消息正文中发送超过 1MB 的数据,或者可能中断并加入消息正文?