【发布时间】:2021-08-19 20:45:17
【问题描述】:
我们为我们的一个系统使用了一种微服务方法,使用 Kafka 作为事件总线。 我们遇到了一些延迟问题,并尝试用一堆 Chronicle 队列替换 Kafka 主题。在开发人员机器上本地运行时,结果令人惊叹,我们最昂贵的工作流程之一是处理速度提高了 10 到 30 倍。
鉴于最初的良好结果,我们决定进一步进行实验,并将我们的概念证明部署在我们系统运行的 AWS 中。我们的微服务在多个 EC2 的 docker 容器中运行。
我们创建了一个 EFS 卷并将其安装在每个 docker 容器上。我们验证了每个微服务都可以访问该卷,并授予了正确的读写权限。
现在的问题: MS1 接收消息(API 调用)进行一些处理并在编年史队列中发出事件。我们可以在 EFS 文件系统上看到编年史队列文件被触摸。 MS2 应该使用该事件并进行一些进一步的处理。这没有发生。最终重新启动 MS2 会触发消息处理,但情况并非总是如此。很容易想象失望。
问题: 我们的 EFS 方法错了吗?如果是,那该怎么走?
提前感谢您的意见。
【问题讨论】:
标签: java chronicle-queue