首页 > 解决方案 > Aeron 会丢失消息吗?

问题描述

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

标签: aeron

解决方案


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

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

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


推荐阅读