问题标签 [aeron]

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 回答
43 浏览

java - 如何在运行 Aeron 示例时设置 Aeron 订阅者和发布者数量的限制

我正在运行此处给出的 Aeron 示例。

运行测试的步骤:

测试输出

如输出所示,将发生 1000000 个订阅和发布事件。

所以我的问题是如何限制交互次数。这样做使用一些标志会很棒。

0 投票
1 回答
1156 浏览

apache-kafka - 如何用 Aeron 替换 Kafka

目前我们生产环境的交易系统使用的是Kafka。因为Kafka延迟太高,我们希望用Aeron代替Kafka。如何正确使用 Aeron?

0 投票
1 回答
163 浏览

aeron - agrona 中的 OneToManyRingBuffer 实现

这可能是一个愚蠢的问题,但在 aeron (agrona) 中有一个 OneToOneRingBuffer 和一个 ManyToOneRingBuffer 可用。我有一个生产者和许多消费者我想知道如何实现OneToManyRingBuffer的等效效果?

0 投票
2 回答
210 浏览

java - Aeron 基本发布/订阅对在同一主机上连接,跨主机失败

我正在运行来自https://github.com/real-logic/aeron的 BasicPublisher/BasicSubscriber 对,将它们绑定到同一个多播组+端口。当它们在它们连接的同一主机上运行时,但当它们在不同的主机(相同的交换机+子网+vlan)上运行时,发布者报告“由于发布者未连接到订阅者,提供失败”。这是我的配置:

航空对:

我在绑定到同一个组+端口的同一主机上运行了一个 iperf udp 对,我认为这证明交换机没有阻止多播流量。我希望我只是错误地使用了 Aeron;或者我可以检查其他一些网络问题?

IPERF 对:

Java:java-1.8.0-openjdk.x86_64

操作系统:Centos7 3.10.0-514.26.2.el7.x86_64

0 投票
2 回答
586 浏览

messaging - 适用于发布/订阅、单向和竞争消费者的 Aeron 消息传递模式

目前我正在为我们的高频交易用例评估Aeron 。正如我从文档中看到的那样,Aeron 基本上是交通工具。那是一些更高级别的实现,比如竞争消费者、公平调度或类似于 RabbitMQ 的模式吗?

谢谢

0 投票
1 回答
404 浏览

java - 运输基准的不同结果

我为我关于 Aeron 的演示做了一些基准测试,但我发现如果我对相同的传输使用不同的工具,我得到的结果会略有不同。

例如,如果我使用HDR 直方图,我得到的结果与维护人员在测试中得到的数字一致:

此外,我尝试了另一个用于 Java 基准测试的酷库 - JLBH

但结果让我有点困惑......

首先,我得到了 2 个不同版本的基准测试:

似乎 JLBH 鼓励为侦听器使用另一个线程,至少这样一些设置(例如吞吐量)更有意义,并且初始预热会打印一些统计信息。但我可能是非常错误的,如果我是,请纠正我。

但更重要的是,这些基准测试的结果完全不同,与我在 HDR 中看到的不一致:

我很有可能在某个地方搞砸了,但就目前而言,所有 3 个基准测试看起来都或多或少与我相似,但使用了不同的工具集。

十分感谢!

附言

如果有人想自己尝试,您只需运行此脚本https://github.com/easy-logic/transport-benchmarks/blob/master/run-aeron.sh

要选择要运行的版本,请mainClassName在此处更改参数: https ://github.com/easy-logic/transport-benchmarks/blob/master/aeron-ping/build.gradle#L6

有3个选项:

  • io.easylogic.benchmarks.AeronPingBenchmarkJlbhSingleThread(默认)
  • io.easylogic.benchmarks.AeronPingBenchmarkJlbhSeparateThread
  • io.easylogic.benchmarks.AeronPingBenchmarkHdrHistogram
0 投票
1 回答
117 浏览

rust - 如何将 Aeron 驱动程序 JAR 嵌入 Rust 程序并稍后启动它?

我有一个通过aeron-rs crate使用Aeron的 Rust 程序。

每次我想运行我的程序时,我都需要先手动启动驱动程序。事实上,板条箱明确声明它只是作为正在运行的驱动程序的包装器工作。

我希望驱动程序在启动我的程序时启动。

我知道 Aeron 提供了一个嵌入式驱动程序,但我对如何集成它一无所知。

到目前为止,我已将嵌入式驱动程序 JAR 放在我的 src 文件夹中

我使用include_bytes!宏尝试在构建中包含 JAR

我在构建文件夹中看不到 jar。

然后,以下代码应在启动时运行驱动程序:

这是运行 jar 文件的正确方法吗?

0 投票
1 回答
115 浏览

java - Aeron:Archive taggedReplicate 是否应该与 C 媒体驱动程序一起使用?

我什至使用taggedReplicate进行基本测试时遇到超时异常,而使用 Java MD 一切都很好。

我使用独立的 MD 版本 1.27.0 和 1.31.1 进行了测试

0 投票
1 回答
113 浏览

c++ - Aeron 使用 RateSubscriber.cpp 从 CME UDP 多播获取费率

我可以使用 winsockets 从新发布的 UDP 流中轻松获得费率,但由于某种原因,我无法使用 aeron 获得任何费率。我正在使用 RateSubscriber 项目和以下 URI:

当我运行我的代码时(当然是在我启动 aeronmd.exe 之后)我没有收到任何费率:

我究竟做错了什么?我需要运行其他东西吗?

谢谢!

0 投票
1 回答
142 浏览

java - Aeron - 跨交换机的多播问题

我正在尝试在同一个多播/端口上运行基本发布者/订阅者对。当主机连接到同一个交换机时,它可以完美地工作,但如果用户在不同的交换机上,则不能。

出版商

订户

由于主机有多个接口,我已明确尝试通过将接口参数定义为通道配置的一部分来将发布者/订阅者绑定到特定接口。

两个盒子之间的多播路由已使用验证iperf