gpt4 book ai didi

kubernetes - 如何使容错数据处理k8s Pod?

转载 作者:行者123 更新时间:2023-12-02 12:12:04 25 4
gpt4 key购买 nike

我们在GKE上有一个图像处理管道,该管道是GCP主题提供的,而GCP主题又是存储桶通知(即

image upload > bucket > notification > topic < pods consume files off topic.

这样可以很好地扩展,但是偶尔 pod 死亡或被杀死,并且它们消耗的主题数据也随之消失。是否有一个容器设计模式来确保即使 pods 意外死亡也能处理文件?

(在处理数百万个图像文件时,将错过的内容排序是一种噩梦)。

最佳答案

是的,我考虑了很长时间,并提出了一个2队列解决方案,即我要称呼的Accountant pod / container(因为这个想法是基于双重记账簿):

  • 作业被发布到Q1和Q2两个队列
  • worker 处理Q1弹出项目,直到它为空为止
  • 当Q1为空时,会计工作人员通过Q2检查每个作业的预期输出。如果缺少某些东西,则再次放回Q1和Q2(在Q2耗尽之后)。
  • 重复此操作,直到会计师没有将任何内容回发到队列中为止。

  • 我称之为:重复输入/会计设计模式:)

    我认为这可以应用于大多数数据处理队列系统。

    我看到的唯一缺陷是会计去世了(但是检查输入和输出应该是一件轻巧的工作)。我想您可以将N-1个会计师与N个队列,具体取决于您希望成为多人(但要协调1个以上的会计师可能会很棘手)

    关于kubernetes - 如何使容错数据处理k8s Pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61514806/

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