Comments (2)
Running tasks in parallel can be advantageous when the system running dregsy has a significantly faster network connection than any of the involved source and/or target registries. In the opposite case, we may not gain much of a speed up, since the parallel tasks would compete for the slow network connection. The same may be observed if there's just one slow source and one slow target. At any rate, having the option to add parallelism to tasks is definitely a good idea.
Implementation thoughts:
- There are a number of global entities, such as authentication tokens and lister caches. Access to those needs to be properly locked when we introduce parallelism, so that for example identical auth refreshes are not done in parallel.
- It may be necessary to validate tasks to make sure there are no duplicates or target overlaps.
- ...
from dregsy.
That would be exactly why I'm doing it -- I'm syncing to registries that are only available via. satellite links. My uplink bandwidth is roughly 10x the bandwidth of each individual registry.
I have a poor-mans working implementation of this in meantime, I'm running this in k8s so I just spin up n pods each with a single task. We don't add new registries often, so I'm not creating too much tech debt.
Validation could be tricky. While it isn't in my use case, I could see someone wanting to have parallel syncs running to the same registry with each sync being it a separate namespace.
from dregsy.
Related Issues (20)
- Publish binaries as part of the release HOT 2
- Regular expression does not work if the name contains the symbol '_' HOT 9
- Make dregsy crash when the registry is unreachable HOT 4
- Allow use of IRSA for uses of dregsy in a Kubernetes (Cron)Job HOT 2
- Add option to specify destination tag
- Failing to sync between artifactory and ecr HOT 8
- support multiple destination path HOT 7
- question about the `keep` keyword HOT 9
- dregsy stopped working sometimes by giving "exec format error" HOT 6
- Artifacts migration between two internal Nexus Registry HOT 2
- Arch Issue with Image syncing HOT 10
- option to pass registry auth token using k8s secret HOT 5
- GCP auth per target and source HOT 2
- [feat req/debate] adding support for image digests with the skopeo relay HOT 8
- exit status 1 when pushing to GAR HOT 3
- platform architecture destination tag labeling HOT 1
- 1 to many target mapping? HOT 1
- Split config and credentials/secrets HOT 2
- add latest count limit to tag pruning HOT 1
- automatic restart on config file change HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dregsy.