问题标签 [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.
kubernetes - 基于 NATS 服务器中发布的事件数量的水平缩放
我是 Nats 和 Kubernetes 的新手。我创建了一个 python 控制台应用程序,它订阅了 nats-server,并在 Kubernetes 中使用 Deployment 对象包装在一个 pod 中。现在我想根据这个 python 客户端在 nats-server 中发布的事件数自动缩放 pod。我怎么能做到这一点?任何人都可以给我一个想法吗?
提前致谢。
nestjs - 向所有队列订阅者发送消息很热?
我有两个微服务。第一个微服务是前端服务器,它在第二个微服务实例中请求一些工作。NATS 传输的最佳解决方案是排队。我可以发送消息,而 NATS 只会将其发送到其中一个实例。但是,如果我需要向每个队列实例发送消息或事件?
前台服务:
工人服务:
所以。在我的示例中,我需要创建 2 个或更多实例Worker service
。我需要一个解决方案,如何有时将事件或消息传递给所有Worker service
实例?
nats.io - 如何使用 NKeys 将 STAN 连接到 NATS?
我们正在建立一个 NATS 和 STAN 集群。显然,STAN 集群需要连接到我们的 NATS 集群。但是现在在将 STAN 集群连接到 NATS 集群时,我无法进行身份验证。
我们使用 NKeys 进行身份验证(https://docs.nats.io/developing-with-nats/security/nkey)。当我尝试使用 python 客户端(nats.py)连接 STAN 凭据时,我完全没有问题。
STAN 要求提供凭据文件以进行身份验证。我尝试提供一个只包含种子、种子和用户 pubkey 的文件......我应该怎么做?
我在这里先向您的帮助表示感谢!
node.js - 带有 NATS 的 Nodejs Express API?
我正在尝试使用 nodejs + express + nats 为我的前端应用程序构建一个 REST API。我的终端中运行着一个 nats-server。
这是我的测试代码:
运行测试代码后,无法访问 localhost:3000。
我在 github 上找到了一个类似的项目:https ://github.com/georgehaidar/poc-express-nats/blob/master/api.js 。
我似乎找不到我的错误。
谁能帮我弄清楚我做错了什么?
先感谢您。
.net-core - 如何使用 .net core 3.1 后端设置分布式系统
我的部门来自 . NET 4.8 wcf/wpf 客户端/服务器架构世界。但时代在变,对将.NET后端连接到 Web 应用程序、移动应用程序和(以及)桌面应用程序提出了新的要求。当我们实现自己的网络时,我们有如何将消息从后端传输到客户端的经验。TCP消息代理。
这是我问题的第一个主题:
#1 使用 google protobuf/amqp事件代理是连接微服务与各种客户端(Web、移动、桌面)以及其他后端组件的正确方法吗?
我目前的调查使我找到了 3 种产品:
- RabbitMQ及其 amqp
- 带有 google protobuf 消息协议的NATS/STAN ,包括 MySQL/Postegres 中的事件存储
- 带有 google protobuf消息协议的事件存储,包括在自己的数据库系统中的事件存储
这引出了我的第二个问题:
#2 您对这些产品有何体验?有什么优点、缺点或陷阱吗?
我们不需要任何集群系统或高度可扩展的解决方案,因为每个客户都有自己的封装系统,客户端少于 40 个。但是我们想要一个可靠的消息/事件传输(这应该由提到的 3 个代理中的任何一个来实现)。
克里斯蒂安
nats.io - NATS 流在集群和 FT 模式下提供什么消息持久性保证?
我正在寻找具有消息持久性保证的流服务器,即在服务器确认向生产者发布之前,可以保证生产者发布的消息被持久存储。
我的用例要求我们减少丢失任何生成的消息的可能性。如果需要,生产者可以重播消息,但他们需要确保 ACKed 消息持久保存,并将由流服务器传递给消费者。
NATS 流服务器似乎在做一些事情,但是集群和容错的文档并没有很清楚地说明在每种情况下都提供了哪些持久性保证。关于生产者集成的文档确认服务器将主动 ACK 已发布的消息,无论是同步还是通过回调,但它没有明确 ACK 是否意味着该消息在此时已持久存储。
关于存储配置的文档,特别是SQL 选项简要提到了来自服务器的 ACK 意味着持久存储保证,但目前尚不清楚在集群和容错以及不同的持久性后端(文件或 SQL)的情况下究竟如何应用。
typescript - Nestjs 中 NATS 的 JWT 身份验证
我正在尝试将NATS 消息代理的 JWT auth(orization)集成到nestjs 中,我在双方都使用nestjs 应用程序(请求者和响应者)。如果我理解正确,则需要两个部分才能使其与 nestjs 一起使用:
- 修改嵌套 NATS 客户端以转发缺少的选项(userJWT 和 nonceSigner 回调),
- 包括创建 NATS 用户并从自定义身份验证 API 返回的逻辑。
如何轻松扩展 nestjs NATS 客户端以包含缺少的客户端选项?受影响的部分似乎是NatsOptions
, ClientOptions
, ClientNats
& ClientProxy
。
谢谢
node.js - Dockerfile 中 nats-server 的 CMD 命令是什么
我目前正在按照微服务架构使用NestJS构建应用程序。并使用NATS作为消息传递系统。它在我的本地机器上运行良好,但我无法对 NATS 服务器进行 docker 化。
我的项目的文件夹结构:
现在,Dockerfile
内部nats/
文件夹描述如下:
Dockerfile
里面client/
的文件夹描述为:
而且docker-compose.yml
是:
我已经运行命令sudo docker-compose build并没有发现错误,然后运行命令sudo docker-compose up并发现以下错误:
客户端服务 Dockerfile 没有问题,因为它取决于 nats-server 尝试首先运行它。谁能帮我解决问题?
我要感谢您的时间和考虑。