使用varnish来缓存批量后端操作

时间:2014-03-23 20:59:15

标签: caching varnish mapnik

我正在使用Mapnik生成地图图块(PNG)。我有一个网址,可以单独生成瓷砖:

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分钟)?

1 个答案:

答案 0 :(得分:0)

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

我还建议生成将在一个单独的文件夹/文件位置完成,并在它们准备就绪时移动它,这将免除你在生成过程中遇到服务器的麻烦。