分布式环境下,定时任务或异步处理如何保持幂等性?

如题:
分布式环境下,定时任务或异步处理如何保持幂等性?

函数式编程
浏览 972回答 9
9回答

鸿蒙传说

个人并没有这方面的经验,不过公司里的做法是用IP做判断,指定的IP才能去执行这个定时任务。以下为个人空想,并无实践经验:搭建一个公共应用专门处理定时任务,然后提供消息接口给具体应用调用。

收到一只叮咚

用事务来实现吧,分布式事务,或者消息队列

慕容森

可以考虑具备ack机制的消息队列,比如RabbitMQ等,既保证了一条任务只分配给一个worker,也保证了任务成功与否的完整性

MMTTMM

我们是通过zk调度来实现的,分布式环境中通一任务最多只能有一台机器执行,zk很好实现这种功能

慕娘9325324

到目前为止所有答案都是错的,包括那个被采纳的。原因是,定时任务或异步处理,与幂等性无关。

阿晨1998

redis + token就可以的

SMILET

用队列,取了就没了,只会执行一次,执行失败在丢回队列等下次
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java