So far, (meta)tiles could only be stored and retrieved from a locally mounted posix filesystem. Although, the posix
filesystem API is it self a plugable storage layer into which one can mount many different filsystems, from temporary
filesystems to network filesystems, as mod_tile installations scale up to multi-server environments this might not be sufficient and one
may want to use other storage layers.
This patch therefore abstracts all storage calls out into a separate API that can be implemented by various storage backends to fit the needs of different
installations.
Three storage backends are included in this commit:
- file backend: This is the equivalent of what existed before in mod_tile / renderd. This uses a posix filesystem to store (meta)tiles
- memcached: This stores tiles in a memcached store
- rados: This stores tiles in a rados / ceph cluster
The memcached and rados backends should currently still be considered as experimental
There are also other refactoring and cleanups in this commit