We have a client application that allows users to download full length 192Kb/s MP3 audio files. Because the files are stored externally to us as a business, we need to be able to:
1) Copy file from external location into a local Server cache
2) Copy that file to the client that requested it
Obviously further requests on the same file would come from the cache and would not need to go external.
Now, we already have a current system that does this (using a Squid Cache), but the problem is that 2 only executes once 1 is fully complete. This means that if a 10min long 192kb/s track takes 75 seconds to be copied from an external location into the cache, the client's HTTP timeout kicks in at about 60 seconds! This does not fulfil our requirements.
It seems that what we need is a cache that can transfer out to a client WHILE it is getting data from an external location. And my questions are:
1) Can this be done with a Squid Cache (this is the legacy incumbent and not my choice)?
2) If not, what technology would be the most suited for this kind of scenario (cost is not really an issue)?
Please let me know if this isn't clear in any way!