分片时,如果某个服务器挂了,如何保证任务继续执行?
比如一个任务分成3片,部署在6台服务器上,当任务在运行的过程中,分片1正在服务器A上运行,此时服务器A挂了。最后的结果就是另外两片能成功执行完毕,但分片1却失败了,导致数据不完整。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如一个任务分成3片,部署在6台服务器上,当任务在运行的过程中,分片1正在服务器A上运行,此时服务器A挂了。最后的结果就是另外两片能成功执行完毕,但分片1却失败了,导致数据不完整。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
那我如果作业间隔较长,比如5分钟跑一次。那么等到下次执行也会把上次没处理好的数据处理掉吧!这样不用开启 failover 这个配置也行吧
两个办法可以补救
1. 如果作业执行间隔很短,可以不需要管,因为下次执行时,作业就会重新分片,下次执行时,再把数据执行了就好。
2. 如果作业间隔较长,可以开启failover这个配置,这样在本次作业进程crash之后,其他等待执行的节点会立刻抓取到crash的节点继续执行。