gpt4 book ai didi

spring-boot - Spring Boot 应用高可用

转载 作者:行者123 更新时间:2023-12-05 07:33:36 27 4
gpt4 key购买 nike

我们有一个使用 spring boot 开发的微服务。它实现的几个功能是

1) 一个调度程序,在指定时间触发使用 webhdfs 下载文件并对其进行处理,一旦数据处理完毕,它将向用户发送一封电子邮件,其中包含数据处理摘要。2) 从kafka读取消息,读取数据后,发送邮件给用户。

我们现在计划在主动-主动或主动-被动设置中使此应用程序高可用。我们现在面临的问题是,如果应用程序的两个实例都在运行,那么它们都将尝试从 kafka 下载文件/读取数据、处理它并发送电子邮件。如何避免这种情况?我的意思是确保只有一个实例触发下载并处理它?

请告诉我是否有针对此类场景的已知解决方案,因为这似乎是大多数项目中的常见场景? master-slave/leader 选举方法是正确的解决方案吗?

谢谢

最佳答案

让服务下载该文件,提取信息并通过 kafka 发布它们。事先检查信息是否已经通过查询 kafka 或本地数据库进行了处理。

您还可以发布一个 DataProcessed - 触发 EmailService 的事件,发送相应的电子邮件。

关于spring-boot - Spring Boot 应用高可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50531553/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com