Caching 使用varnish缓存批处理后端操作

Caching 使用varnish缓存批处理后端操作,caching,varnish,mapnik,Caching,Varnish,Mapnik,我正在使用Mapnik生成地图分幅(PNG)。我有一个url,可以在其中动态单独生成分幅: http://tiles.example.com/dynamic/MAPID/ZOOM/X/Y.png 每个地图分幅为256x256像素 但是,单独生成瓷砖的成本很高。成批生成它们的效率更高(即生成一个大的PNG,并将其拆分为更小的文件)。我有一个URL也可以做到这一点: http://tiles.example.com/dynamic/MAPID 哪个批次生成地图的所有分幅,完成后返回“OK”,并将

我正在使用Mapnik生成地图分幅(PNG)。我有一个url,可以在其中动态单独生成分幅:

http://tiles.example.com/dynamic/MAPID/ZOOM/X/Y.png
每个地图分幅为256x256像素

但是,单独生成瓷砖的成本很高。成批生成它们的效率更高(即生成一个大的PNG,并将其拆分为更小的文件)。我有一个URL也可以做到这一点:

http://tiles.example.com/dynamic/MAPID
哪个批次生成地图的所有分幅,完成后返回“OK”,并将其保存到磁盘,从磁盘上可以静态访问:

http://tiles.example.com/static/MAPID/ZOOM/X/Y.png
这就是为原始文件提供服务的NGINX


是否可以将Varnish配置为触发批处理生成,等待其完成,然后缓存并提供单个磁贴,直到其过期(在我的情况下,5分钟)?

目前varnish3不支持后端获取,此功能应在varnish4中实现,相反,我建议将它们作为cron作业触发,当第一个用户点击图像时,varnish将获取它们

我还建议在单独的文件夹/文件位置生成,并在它们准备好时将其移动,这样可以避免在生成过程中人们点击服务器的麻烦