About
HTTP media cache server. Most caching servers does not understand when a media file is being proxied. When storing media files you can gain performance and space when you consider the fact that most of the big meda files are not actually watched from end to end.
We intend to implement a caching algorithm which takes all this into consideration and delivers better cache performance and throughput.
Algorithms
nedomi is designed so that we can change the way it works. For every major part of its internals it uses interfaces. This will hopefully make it easier when swapping algorithms.
The most importat one is the caching algorithm. At the moment nedomi has only one implemented and it is segmented LRU. It is expired by Varnish's idea. The big thing that makes it even better for nedomi is that our objects always have exactly the same size. We do not keep whole files in the cache but evenly sized parts of the files. This effectively means that the implementation of the cache evictions and insertions is extremely simple. It will be as easy to deal with storage fragmentation if we ever need to.
We keep track of file chunks separately. This means chunks that are not actually watched are not stored in the cache. Our observations in the real world show that when consuming digital media people more often than not skip parts and jump from place to place. Storing unwatched gigabytes does not make sense. And this is the real benefit of or chunked storage. It stores only the popular parts of the files which leads to better cache performance. The team behind this gopher gala consists of
The Team
Doychin Atanasov - https://github.com/ironsmile Mihail Stoykov - https://github.com/mstoykov
Built With
- cache
- http
- reverse-proxy
- server
Log in or sign up for Devpost to join the conversation.