问题标签 [nsq]
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.
python - 如果从 Python 运行进程,getaddrinfow 将失败
我尝试从我的 python 脚本运行 3rd 方进程 (nsqd.exe),但是当我这样做时,nsqd 无法绑定套接字。我不知道为什么。
我正在使用的脚本:
和输出:
如果我自己直接运行它,一切正常:
也许有人知道出了什么问题?
Win10,python352。以管理员身份运行没有帮助。
谢谢。
kubernetes - 尝试创建 NSQ PetSet,容器启动后 Pod 不断终止
完整的 yaml 文件在这里(没有嵌入问题,因为它相当长并且因为describe
下面涵盖了许多重要位):
https://gist.github.com/sporkmonger/46a820f9a1ed8a73d89a319dffb24608
使用我在这里创建的公共容器映像:sporkmonger/nsq-k8s:0.3.8
Container 与官方 NSQ 镜像相同,但使用 Debian Jessie 而不是 Alpine/musl 来解决对于 Alpine-on-Kubernetes 来说往往是个问题的 DNS 问题。
当我描述其中一个 pod 时,会发生以下情况:
一个相当有代表性的大约 30 秒集群活动的手表:
典型的容器日志:
对于 Kubernetes 为何不断杀死这些 pod,我完全摸不着头脑。容器本身似乎并没有行为不端,而 kubernetes 本身似乎正在终止这里的事情......
docker - NSQ Docker 群
我试图在 Docker Swarm 中使用 NSQ 没有成功
mhlg/rpi-nsq 是为 Raspberry Pi ARM7 板构建的 Docker 映像,如果作为普通 Docker 容器运行,我可以确认它工作正常
在 Docker 中运行 NSQ(确定)
在 Docker Swarm 模式下运行 NSQ (FAIL) 这是我在 swarm manager 中所做的
如果我附加到 nsqd 服务,我可以看到它无法连接到 nsqlookupd 服务。
看起来覆盖网络会产生一些问题(多播?),但我不知道如何解决它,尤其是在 ARM 设备上。
我试图通过 ssh 进入运行 nsqd 服务的 Docker 主机并从 nsqd 容器内执行一些 dns 命令
messaging - 如何使用消息传递架构将消息发送回发送者?
我正在使用消息传递架构解决微服务之间的通信。
假设我有一个传统应用程序,并且有User
模块Post
Video
。
您可以使用它创建帖子、视频,但在此之前,我需要将用户名转换为用户 ID。
一旦我将模块拆分为微服务,我就无法将它们链接在一起,而是直接访问微服务。
如果我想将用户名转换为 ID,
我可以通过Messaging调用User
服务中的Post
服务,到目前为止一切顺利。
但问题是:
如何接收转换后的用户 ID?向
Post
服务发送另一条消息并继续下一步?如果我想从
Video
服务中执行此操作怎么办?我需要在User
服务中为它创建另一个功能吗?
如果我得到越来越多的服务,那将是很多功能,对吗?
我认为这不是消息传递架构的工作方式,但我不知道如何在没有消息传递的情况下与其他服务进行通信。
(或者我应该在 API 网关中将它们链接在一起,这样我就不需要消息传递架构了吗?)。
mysql - 如何将数据库与微服务(和新的)同步?
我正在开发一个具有微服务架构的网站,每个服务都拥有一个数据库。数据库存储微服务需要的数据。
Post
,Video
服务需要用户信息,所以两个服务都订阅了NEW_USER_EVENT
.
将NEW_USER_EVENT
在有新用户注册时触发。
一旦服务接收到NEW_USER_EVENT
,他们将传入的用户信息放到他们自己的数据库中。所以他们可以在不询问User
服务的情况下做事。
到目前为止,一切都很好。但问题来了:
- 如果我要创建一个新服务怎么办?如何获取注册用户信息并将其放入新服务中?
也许我可以从现有服务中获取信息。但事件是由消息队列 ( NSQ
) 推送的。
如果我要从其中一个微服务中复制数据,我如何确定哪个服务具有最新的用户信息?(因为有些服务没有收到最新的事件)
阅读更多:
networking - 从 nslookupd 发现 nsqd 服务器地址
我正在使用以下 docker-compose.yaml 文件在 Docker 容器中运行 nsq 集群:
一切运行良好。但是,如果我调用 nsqdlookup 服务器上的 /nodes 端点,我会得到:
广播地址看起来像容器的名称/主机名。我试图在端口 4151 上 ping 以防万一,但它失败了。
远程地址相同:
如果我使用 localhost 或 127.0.0.1,一切正常:
但是,那是骗人的。nsqlookupd 服务器的全部意义在于它们跟踪 nsqd 服务器,因此客户端可以动态获取响应服务器的列表。
当 nsqd 节点在 Docker 容器中运行时,是否可以从 nslookupd 服务器获取 nsqd 节点的可访问 URL/IP 地址?
是否有一些魔法咒语使它起作用?
有人尝试过使用 Swarm 或 Kubernetes 吗?
go - 为什么 nsqlookupd 包使用上下文?
看了nsq源码的nsqlookupd部分,发现作者使用了一个Context truct来包装一个NSQLookupd struct,而没有其他的func用于Context。不知道为什么要这样用,能从中得到什么好处这边走?下面的源代码在这里。谢谢!
上下文.go
nsqlookupd.go
nsq - Temporary NSQ Channels
I have nodes that need to connect to NSQ, they need to get all the messages for that topic. To do this, they each create a channel. I am wondering if there is a way for nsqd to clean them up after the consumers have been disconnected?
publish-subscribe - 使用公共 IP 配置 nsq.io
我在我们的系统中使用http://nsq.io/发布/订阅。
目前,我们仅将 Nsq.io 用于本地服务器,我公开了一条消息,使用 localhost 作为:
我计划在公共服务器中使用 Nsq.io 并希望用作:
我找不到这样的配置文件或指南,有人有经验给我建议吗?
预先感谢。