问题标签 [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 回答
140 浏览

c++ - 如何在 c++ lambda 中使用 c 方法

我在一个c++项目中使用了c库( nats.c ),目前我做了以下工作(部分代码):

但是我在编译的时候发现了一个错误:

我使用cmake构建项目,代码如下(部分代码):

shell中列出了相应的路径信息:

我做错了什么?


发现我写错了cmake文件,现在调整如下:

现在可以编译了,但是运行时提示:

我已经配置ld.so.conf

0 投票
1 回答
17 浏览

nats.io - NATS 消息传递:导出问题

我正在为我的项目探索 NATS,并在添加导出时卡住了。尽管指定了“--private”标志,但当我描述它时,它被视为是公开的。

这是我用来添加导出的命令:

有人可以帮我吗?看起来不是问题吗?

谢谢和问候, 普拉富拉

0 投票
1 回答
207 浏览

kubernetes - 如何将微服务与 Kubernetes 集群内的 NATS docker 映像连接起来

我试图通过 nats 连接 2 个微服务,这在本地环境中运行良好,我使用了 NATS 的 docker 映像并使用了它的 pub-sub 模型。但现在我的任务是连接 Kubernetes 集群中的这两个微服务。我制作了这些微服务的 docker 镜像,但不知道如何通过 NATS 的容器镜像连接它们。

NATS 的 docker 镜像 - https://hub.docker.com/_/nats

0 投票
1 回答
479 浏览

c++ - 如何使用 ExternalProject_Add 静态链接到 NATS C 库

我正在尝试将 NATS C 客户端作为对我的项目的依赖项。我更喜欢静态链接,因为我的项目非常小并且作为独立服务运行,因此发布一个可执行文件更方便。

ExternalProject_Add似乎最有希望与各种构建系统兼容。但是在使用这种方法构建时出现链接错误:

奇怪的是,当我将链接方法从静态更改为共享时,构建成功并且程序按预期工作。相关代码包含在CMakeLists.txt.

可以通过以下方式获取产生上述错误的源代码git clone https://github.com/onichandame/nats-epics.git --branch question --depth 1

开发环境是CentOS 8,我为这个环境做了一个docker镜像onichandame/docker-dev

0 投票
1 回答
97 浏览

c# - .net core 使用 prometheus 监控 nats 请求

我有一个与 nats 集成的 net core 3.1 web-API 应用程序,在这种情况下,我需要捕获我的所有应用程序的流量并将它们发送到 Prometheus 以监视应用程序的活动,我使用过这篇文章,但它描述了一种捕获 Http 的方法requests not nats 有没有人遇到过这样的问题?

0 投票
0 回答
292 浏览

nats.io - 集群环境中的重复路由警告/错误

我想在一个集群中有多个种子服务器,这样当单个种子服务器出现故障时,整个发现网络就不会超出范围,并且新服务器仍然能够启动。但是,控制台显示以下错误

[8180] 2020/08/05 11:16:27.071803 [[32mINF[0m] 127.0.0.1:50890 - rid:3 - 路由器连接关闭:重复路由 [8180] 2020/08/05 11:16:27.072794 [[ 32mINF[0m] 127.0.0.1:50891 - rid:4 - 路由器连接关闭:客户端关闭

我不确定该行是否表明存在问题,或者是否可以忽略。我的配置如下:

如何避免重复路线?需要对配置进行任何更改(仍需要多个种子服务器)?

0 投票
3 回答
7375 浏览

rest - gRPC 与 NATS 或 Kafka 是否有意义?

一直以来,提到微服务架构,NATS和Kafka是我最先想到的选择。但最近我在 dotnet core 中发现了这个 gRPC 模板,这引起了我的注意。我阅读了很多关于它的内容并观看了很多视频,但我认为其中任何一个都不能正确解决 gRPC,因为它们通常会在 gRPC 和消息代理或协议(如 REST)之间形成对比,尽管 SOAP 可能是相关的,但我认为这是非常不合适的这里。我的假设是 gRPC 是 SOAP 的现代版本,由于它的协议缓冲区,它具有更好的性能和更少的实现麻烦。而且我认为 gRPC 无法与 Kafka 或 NATS 相提并论。而且它不能像 SOAP 那样替代 RESTful 服务。

现在的问题是,我的假设在多大程度上是正确的?例如,在选择集群节点之间的通信桥时,我现在是否必须将 gPRC 放在我的选项中(NATS、Kafkam Rabbit 等),还是在创建 Web 代理以桥接外部请求时考虑到我的微服务?

最后,实时通信怎么样,gRPC能否完全替代websocket/socket.io/signalR?它取代了什么?

0 投票
1 回答
2065 浏览

kubernetes - kuberenetes 中 liveness 探针中的 curl 和 grep 命令

我是 Kubernetes 新手。我已经为我的 python 控制台应用程序编写了一个部署。这个应用程序订阅了 NATS(消息队列)。

我在liveness prob中编写了命令来检查 nats 服务器中的 connection_id(我的应用程序连接 id)是否存在。否则,在这种情况下,由于应用程序运行不正常,请重新启动 pod。

我尝试了不同的命令。例如

和另外几个 curl 命令。然后当我删除/tmp/cid文件时。它应该失败,对吧?但事实并非如此。

如果我运行这个命令 curl -s http://nats:8222/connz?cid=$(cat /tmp/cid) | grep -c "\"cid\": $(cat /tmp/cid)"

我明白io.k8s.api.core.v1.ExecAction.command: got "map", expected "string"这个问题。

有什么建议吗?

0 投票
1 回答
524 浏览

go - 如何循环通过通道接收的 NATS 消息

我有这样的代码:

我尝试做的是接收一条消息,并在收到一条消息后发送对消息的回复,如示例所示。

但是,上面的代码存在一些问题。当我添加for {到代码中时,它会重复相同的消息,直到收到新消息。

使用 NATS 连续接收消息的正确实现是什么?(不回复收到的消息)

0 投票
1 回答
205 浏览

nats.io - 发送大于 1MB 的消息是一种不好的做法吗?

通过 NATS 发送大于 1MB 的消息是一种不好的做法吗?例如,大小约为 2MB 的 JSON 响应。如果这是一个不好的做法,将消息分解成更小的响应是一种更好的方法,还是 NATS 支持将多个响应发送回单个请求?(非常感谢 C#、Node 或 Java 中的示例)。