问题标签 [nats-streaming-server]

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 投票
1 回答
629 浏览

nats.io - NATS-Streaming-Server <1ms 延迟

是否可以设置一个 put-get 延迟 < 1ms 的 nats-streaming-server 集群?

我使用文件存储创建了一个 3 节点集群(全部驻留在同一台服务器上)。

例如,

从异步发布到订阅回调的每条消息需要 2-3 毫秒。

还有其他方法可以通过文件存储加快速度吗?

谢谢。

0 投票
1 回答
474 浏览

java - java-nats-streaming:服务器重新连接后发布消息

我有一个设置了 3 个节点的 NATS 流集群。我的 java 应用程序在服务器停机期间发布的 NATS 消息似乎丢失了(即当我的服务器备份并运行时不会再次重新发布)。

更详细的描述:

  1. NATS 集群在线。发布者和订阅者应用程序上线。Publisher 开始每秒发布一条消息。订阅者接收消息。
  2. NATS 服务器已关闭。Publisher 继续发布消息(我们称这些消息为“离线消息”)。订阅者停止接收任何内容
  3. NATS 服务器重新联机。订阅者再次开始接收消息,但从未收到“离线消息”。

我的发布者和订阅者应用程序都配置为尝试重新连接到 NATS 服务器并且不会超时。我没有得到任何例外。

NATS 连接:

出版商:

订户:

从文档来看,Java NATS 客户端似乎内置了一个重新连接缓冲区。我尝试将缓冲区增加 10 倍但无济于事(另外,我的消息仅包含 2 位数字)。如何让它重新发送这些“离线消息”?

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 投票
1 回答
371 浏览

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

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

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

0 投票
1 回答
562 浏览

c# - 使用 c# stan.client 的 Nats 流式重新传递问题

我正在使用nats 流服务器stan.client作为客户端库。

我的订户可以做长时间的工作。有时它们大于默认的确认等待时间(30 秒)。所以我尝试手动确认我的消息,这样做:

我设置了手动确认,然后在工作之前将消息确认为第一个操作。

在这段代码中,订阅者做了 40 秒的工作。如果我发送 2 条消息,则第二条总是重新发送。

我的错误是什么?

0 投票
2 回答
5720 浏览

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

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

0 投票
1 回答
328 浏览

nats.io - NATS 流服务器自动确认与发布/订阅

当我重新启动我的 NATS 订阅者守护程序时,我意外地注意到,所有消息都再次处理,尽管事实上它们已被正确处理。

发布.go:

订阅者.go

事实上,每次我重新启动订阅者守护进程时,NATS 流媒体服务器都会传递曾经收到的所有消息。

0 投票
1 回答
293 浏览

nats.io - C客户端在连接后自动断开连接

我在集群模式下运行 nats 服务器,配置如下:

我的应用程序尝试使用 nats-c 库连接到该集群,如下所示:

此调用的返回值为 NATS_TIMEOUT。从服务器的调试日志中,我可以看到客户端已连接但很快断开连接。

知道为什么会这样吗?

0 投票
0 回答
187 浏览

apache-kafka - 低延迟分布式日志

是否有用于生产就绪的低延迟分布式日志的现有软件?这个想法是在将输入消息发送到服务本身之前将它们存储到服务。当服务启动时,它会获取其状态的最新快照并重播输入消息。如果服务是确定性的,则可以一次运行服务的多个实例。这将提供高可用性和零停机时间部署。

有许多可用的日志,但有些是高延迟的,有些不是很分布式/可集群的,有些还没有准备好生产。

可用的分布式日志软件

  • 卡夫卡

  • NATS 流媒体

  • 坦克

  • 分布式日志

  • 脉冲星

  • RocketMQ

  • 升降桥

  • 黑猩猩

  • 日志设备

要求

  • 消息/事件持久性(在内存中或磁盘上)

  • 主题/分区内的消息排序

  • At-least-once-delivery:发布者和服务器之间的消息确认(用于发布操作)以及订阅者和服务器之间的消息确认(确认消息传递)

  • 按主题重播历史消息:新订阅可以指定为订阅主题的频道存储的消息流中的开始位置。

  • 高可用性:应该有多个集群节点,它们之间有复制

  • 低延迟:如果我们要等到两个节点收到消息后再发送,那么它必须是低延迟的。理想情况下只有几毫秒,但不超过几十毫秒。这就是为什么 Kafka 似乎不适合这个的主要原因。

有什么我错过的选择吗?