Aeron 会丢失消息吗?

rvi*_*t34 1 aeron

如果我通过发布向某个通道(IPC 或 UDP)提供消息,并且此操作返回正值(新位置),这意味着数据是否已写入磁盘(fsynced 到 /dev/shm)?换句话说... Aeron 是否依赖页面缓存?当我通过发布提供新数据并收到积极的响应值后操作系统关闭时,我可能会丢失数据吗?

Mic*_*ker 5

是的,它可以。返回正位置值仅表示消息已写入术语缓冲区。术语“缓冲区”通常存储在仅内存文件系统中。例如,在 Linux 上,这是/dev/shm.

请注意,fsyncing/dev/shm无效,因为它不受非易失性存储的支持。

Aeron Archive 是持久存储消息的方法。