目前,我们生产环境的交易系统正在使用Kafka。因为Kafka延迟太高,我们希望用aeron代替Kafka。如何正确使用aeron?
vsdwdz231#
aeron不是kafka的现成替代品,尽管它确实提供了原语,允许您复制大部分功能。Kafka的延迟以毫秒为单位,而艾隆的延迟通常以微秒为单位。在aeron中究竟需要构建什么在很大程度上取决于您的用例。kafka的主要用途之一是作为持久队列。为单个发布者用例构建简单的持久队列。您需要:出版商 ArchivingMediaDriver -这个组件运行和aeron MediaDriver 处理通过网络和 Archive 它允许您录制和重放流。一 Publication 发送要由档案馆记录的信息。看到了吗 AeronArchive.addRecordedPublication .子服务器 MediaDriver -此组件处理通过网络发送/接收消息。一 Susbcription 从记录的消息流中的特定位置重放数据的方法。看到了吗 AeronArchive.replay .在aeron样品中有这样的例子。recordedbasicpublisher.java文件replayedbasicsubscriber.java文件通过让发布者通过多播/mdc发送消息并让订阅者使用,可以进一步减少延迟 ReplayMerge 从录制的流无缝过渡到实时流。值得注意的是,真正的逻辑确实提供了商业支持。
ArchivingMediaDriver
MediaDriver
Archive
Publication
AeronArchive.addRecordedPublication
Susbcription
AeronArchive.replay
ReplayMerge
1条答案
按热度按时间vsdwdz231#
aeron不是kafka的现成替代品,尽管它确实提供了原语,允许您复制大部分功能。
Kafka的延迟以毫秒为单位,而艾隆的延迟通常以微秒为单位。
在aeron中究竟需要构建什么在很大程度上取决于您的用例。
kafka的主要用途之一是作为持久队列。
为单个发布者用例构建简单的持久队列。您需要:
出版商
ArchivingMediaDriver
-这个组件运行和aeronMediaDriver
处理通过网络和Archive
它允许您录制和重放流。一
Publication
发送要由档案馆记录的信息。看到了吗AeronArchive.addRecordedPublication
.子服务器
MediaDriver
-此组件处理通过网络发送/接收消息。一
Susbcription
从记录的消息流中的特定位置重放数据的方法。看到了吗AeronArchive.replay
.在aeron样品中有这样的例子。
recordedbasicpublisher.java文件
replayedbasicsubscriber.java文件
通过让发布者通过多播/mdc发送消息并让订阅者使用,可以进一步减少延迟
ReplayMerge
从录制的流无缝过渡到实时流。值得注意的是,真正的逻辑确实提供了商业支持。