0

我正在使用 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 分钟)?

4

1 回答 1

0

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

我还建议生成将在单独的文件夹/文件位置完成,并在它们准备好时将其移动,这样可以避免人们在生成期间访问服务器的麻烦。

于 2014-04-10T01:27:21.707 回答