2

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

4

1 回答 1

4

Aeron 并不是 Kafka 的开箱即用替代品,尽管它确实提供了允许您复制大部分功能的原语。

Kafka 延迟以毫秒为单位,而 Aeron 延迟通常以微秒为单位。

您需要在 Aeron 中构建什么在很大程度上取决于您的用例。

Kafka 的主要用途之一是作为持久队列。

为单个发布者用例构建一个简单的持久队列。你需要:

出版商

  • ArchivingMediaDriver- 该组件运行,AeronMediaDriver处理通过网络发送/接收消息,并Archive允许您记录和重播流。
  • APublication发送要由存档记录的消息。见AeronArchive.addRecordedPublication

订户

  • MediaDriver- 该组件处理通过网络发送/接收消息。
  • ASusbcription从记录的消息流中的特定位置重放数据。见AeronArchive.replay

在 aeron-samples 中有这样的例子。

ReplayMerge通过让发布者通过多播/MDC 发送消息并让订阅者使用从录制的流到实时流的无缝转换,可以进一步减少延迟。

值得注意的是,真实逻辑确实提供了商业支持。

于 2020-05-03T12:50:02.813 回答