相同的 Spring boot 应用程序在 2 个 Pod 上运行。应用程序有一个调度程序,它运行一个 cron 作业并从数据库中获取数据(JDBC 连接 - JPA)。两个 Pod 都从数据库中获取同一行,这会导致重复请求。 如何避免这样的情况。
不应发送重复的请求,如果 1 个 pod 选取数据,则其他 pod 不应处理相同的数据。
您可以在调度程序中使用“shedlock”。只需简单地使用注释@SchedulerLock,并设置配置即可。 更多详细信息请参见:https://www.baeldung.com/shedlock-spring