【问题标题】:Using varnish to cache batched backend operations使用 varnish 缓存批处理的后端操作
【发布时间】:2014-03-23 20:59:14
【问题描述】:

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

【问题讨论】:

    标签: caching varnish mapnik


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多