目前我们生产环境的交易系统使用的是Kafka。因为Kafka延迟太高,我们希望用Aeron代替Kafka。如何正确使用 Aeron?
问问题
1156 次
1 回答
4
Aeron 并不是 Kafka 的开箱即用替代品,尽管它确实提供了允许您复制大部分功能的原语。
Kafka 延迟以毫秒为单位,而 Aeron 延迟通常以微秒为单位。
您需要在 Aeron 中构建什么在很大程度上取决于您的用例。
Kafka 的主要用途之一是作为持久队列。
为单个发布者用例构建一个简单的持久队列。你需要:
出版商
ArchivingMediaDriver
- 该组件运行,AeronMediaDriver
处理通过网络发送/接收消息,并Archive
允许您记录和重播流。- A
Publication
发送要由存档记录的消息。见AeronArchive.addRecordedPublication
。
订户
MediaDriver
- 该组件处理通过网络发送/接收消息。- A
Susbcription
从记录的消息流中的特定位置重放数据。见AeronArchive.replay
。
在 aeron-samples 中有这样的例子。
ReplayMerge
通过让发布者通过多播/MDC 发送消息并让订阅者使用从录制的流到实时流的无缝转换,可以进一步减少延迟。
值得注意的是,真实逻辑确实提供了商业支持。
于 2020-05-03T12:50:02.813 回答