vmware-tanzu / velero

Backup and migrate Kubernetes applications and their persistent volumes
https://velero.io
Apache License 2.0
8.57k stars 1.39k forks source link

Multi-goroutine backup/restore #8079

Closed Hysteria23 closed 1 month ago

Hysteria23 commented 1 month ago

problem/challenge

The current BackupWithResolvers function in Velero processes backup items sequentially. This serial processing can be a performance bottleneck, especially for large Kubernetes clusters with many resources. It results in longer backup times, which can impact the overall efficiency and reliability of backup operations in large-scale environments.

Solution proposal

Modify the BackupWithResolvers function to process backup items concurrently using goroutines. This will involve:

  1. Creating a worker pool to manage the concurrent processing of backup items.
  2. Using channels to communicate between the main backup loop and the worker goroutines.

Environment:

Vote on this issue!

This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.

Lyndon-Li commented 1 month ago

7628 this design will cover this requirement

kaovilai commented 1 month ago

Close as dupe of https://github.com/vmware-tanzu/velero/issues/7900 ?