问题标签 [jeromq]
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.
java - 通过 zeromq 调用 HTTP GET
在阅读 zeromq 的基准测试结果后,我想知道是否可以尝试通过 zeromq 上的 HTTP GET 调用访问 ReSTFul API。我想测试 zeromq 是否可以提供低延迟请求-回复机制,与 jersey 客户端 API、HTTPurl、Apache hc 等其他替代方案相比。我想在 java 中实现这个,所以这就是我正在尝试的,根据教程
XREP -> HTTP 客户端 有了这个,您可以重用在 HTTP 服务器上运行的现有 Web 应用程序作为工作队列的后端工作人员。这就像一个反向 HTTP 代理,它在多个后端 HTTP 服务器之间进行负载平衡。
但这是错误的,因为我得到
我知道我没有正确编码,但是如果提供了 java 中的任何指南或代码片段会有所帮助吗?
编辑 我找到了一个资源,其中 python 代码将远程 Web 服务调用为
所以我试图修改我的java代码如下:
但现在的问题是我不知道应该用什么值代替"ipc:///tmp/zurl-req"
java - 路由器/经销商代理不传递消息
我正在开发分布式应用程序。网络基于 ZMQ (jeromq),这是我的架构:
- 所以我的接收工作者在一个单独的线程中运行,监听消息并将它们放入队列。
- 处理工作者从队列中挑选消息,进行一些处理并将其发送回客户端(处理工作者连接到代理后端)
当客户端发送一条消息时,它被接收工作人员接收,放入队列中,处理工作人员将其拾取并进行一些处理并将其发回,客户端收到响应之后它发送另一个请求,该请求不是正在由接收工作人员接收,但它是由客户端发送的。基本上只有第一轮“有效”。我在这里想念什么?!
java - ZeroMQ,我们可以使用inproc:传输以及发布/订阅消息模式吗
设想 :
ZeroMQ
我们正在(特别是)评估jeroMq
事件驱动机制。
该应用程序是分布式的,其中多个服务(发布者和订阅者都是服务)可以存在于同一个 jvm 或不同节点中,这取决于部署架构。
观察
为了玩耍,我使用 jero mq (版本:0.3.5)创建了一个pub
/sub
模式inproc:
作为传输
- 线程发布能够发布(看起来像被发布了,至少没有错误)
- 在另一个线程中的订阅者没有收到任何东西。
问题
inproc:
与pub
/sub
一起使用是否可行?
尝试谷歌搜索,但找不到任何具体的信息,任何见解?
pub
/ sub
with的代码示例inproc:
使用 jero mq(版本:0.3.5)的 inproc pub sub 的工作代码示例对以后访问这篇文章的人很有用。一个发布者发布主题A
and B
,两个订阅者分别接收A
andB
apache-camel - Apache camel:连接到 ZeroMQ 服务器
我正在尝试ZeroMQ
使用 apache 连接到服务器camel
。我正在使用项目camel-zeromq
提供的组件camel-extra
,但似乎这需要在ZeroMQ
系统上安装本机库。
有人知道使用该camel-zeromq
组件的方式,即无需安装这些本机库吗?
我想这几乎是不可能的。
如果是这样的话:
是否可以以某种方式将这些库添加到项目中以避免将它们直接安装在系统上?
我看到该组件的另一个缺点camel
是它似乎没有经常更新。我已经使用jeromq
库将客户端连接到服务器。有人知道创建使用这些库的骆驼路线的方法吗?
如果有人能给我一些建议,我将不胜感激。我有点卡住了,试图找出解决我面临的这个问题的最佳方法。
zeromq - 如何将队列连接到 ZeroMQ PUB/SUB
考虑以下:
- 一组 3 个逻辑服务
S1
:S2
和S3
- 每个服务的两个实例都在运行,所以我们有以下进程:
S1P1
,S1P2
,S2P1
,S2P2
,S3P1
,S3P2
ZeroMQ
在单个进程中运行并可由所有服务进程访问的代理
假设一个逻辑服务发布一条逻辑服务感兴趣S1
的消息,并且. 每个逻辑服务只有一个进程必须接收,所以假设和。M1
S2
S3
M1
S2P1
S3P2
我尝试了以下方法,但没有成功:
- 代理线程 1 正在运行
XSUB/XPUB
代理 - 代理线程 2 正在运行一个连接到套接字的
ROUTER/DEALER
代理并订阅了所有内容(对于逻辑)ROUTER
XPUB
S1
- 代理线程 3 正在运行连接到套接字的
ROUTER/DEALER
代理并订阅了所有内容(对于逻辑)ROUTER
XPUB
S2
- 代理线程 4 正在运行一个连接到 XPUB 套接字的
ROUTER/DEALER
代理并订阅了所有内容(对于逻辑)ROUTER
S3
- 每个逻辑服务进程都在运行一个
REP
连接到代理DEALER
套接字的套接字线程
我认为XSUB/XPUB
代理会给我发布/订阅语义,并且代理会在套接字之间为代理发送的消息ROUTER/DEALER
引入竞争。REP
XSUB/XPUB
我怎样才能结合ZeroMQ
套接字来完成这个?
更新1
我知道“没有成功”没有帮助,我尝试了不同的配置并得到了不同的错误。我尝试的最新配置如下:
(XSUB proxy=> XPUB) => (SUB copyLoop=> REQ) => (ROUTER proxy=> DEALER) => REP
复制循环是这样的:
我得到的例外如下:
我正在运行 JeroMQ 0.3.4、Oracle Java 8 JVM 和 Windows 7。
json - 如何将浮点数组(不进行序列化/反序列化)从 Scala(JeroMQ)传输到 C(ZMQ)?
目前,我正在使用 JSON 库在发送方(JeroMQ)处序列化数据,并在接收方(C、ZMQ)处反序列化。但是,在解析时,JSON 库开始消耗大量内存,操作系统会终止该进程。所以,我想按原样发送浮点数组,即不使用 JSON。
现有的发件人代码如下(syn0
并且syn1
是Double
数组)。如果syn0
和syn1
每个大约 100 MB,则在解析接收到的数组时会终止该进程,即以下代码段的最后一行:
可以不使用 JSON 传输这些数组吗?
在这里,我在两个 C 程序之间传输一个浮点数组:
最后,我尝试使用 Scala 做类似的事情没有成功(下面是客户端代码):
json - 使用 ZeroMQ 的进程间通信:传输大型数组
我需要在 Scala 进程 (JeroMQ) 和 C 进程 (ZeroMQ) 之间建立通信。Scala 进程需要发送大型数组(每个数组 1 亿个浮点数)。这首先转换为 JSON 字符串,如下所示,我遇到了内存问题:
1 亿个浮点数对应 762 MB。在我看来,序列化的 JSON 字符串变得越来越大。如果是,那么传输这种大小的数据的最佳方式是什么。
java - java.lang.ClassNotFoundException: org.zeromq.ZContext 尝试启动 Windows 服务时
我创建了一个基本的 Maven java 应用程序,它依赖于 JeroMQ,它是 ZeroMQ 的完整 Java 实现。由于我还需要将此 java 应用程序包装为 Windows 服务,因此我选择使用 Apache Commons Daemon,特别是遵循这个出色的示例:http ://web.archive.org/web/20090228071059/http://blog.platinumsolutions .com/node/234 Java 代码如下所示:
然后我像教程建议的那样创建了以下文件夹结构:
然后我导航到 bin 目录并发出以下命令来安装服务:
安装工作正常,因为我可以在 Windows 服务中看到它。但是,当我尝试从那里启动它时,我收到一条错误消息,提示“Windows 无法在本地计算机上启动 SubscriberACD”。
我检查了错误日志并看到以下条目:
值得注意的是,JeroMQ 目前是我的 Maven Dependencies 下的一个 jar。我从我的 POM.xml 文件中配置了它。
我认为问题可能是我的服务无法访问我的 Maven 依赖项下的 JeroMQ jar。我的假设是类文件不包含依赖项。所以我尝试将我的整个项目导出为一个罐子并将那个婴儿卡在下面E:\SubscriberACD\classes\
所以我的结构现在看起来像这样:
然而,这并没有解决问题。任何人都可以对此有所了解吗?
matlab - 如何在 MATLAB 中使用 jeromq
jeromq 是 libzmq 的 Java 实现。我有一个从 jeromq 源创建的 .jar 文件。但是,我无法从 MATLAB 调用 jeromq 中的类。我已经使用过 addjavaclasspath
,addjavalibrarypath
但仍然无法正常工作。有人在 MATLAB 中有一个简单的工作示例吗?
java - 如何在我的 spring-boot 项目中使用 JeroMq?
我想在我的 spring-boot 项目中实现 Jeromq,它只是从环境中提取数据并将其发送到代理和客户端。