LoginSignup
2
1

More than 5 years have passed since last update.

Google App Engine で Map Tile Cache する試み

Last updated at Posted at 2017-09-15

概要

MapServerでWMS配信している地図を、PaaSのGoogle App Engineでタイルキャッシュしてみる

やりたかったこと

  • 小縮尺で処理が重く、表示に時間がかかるのをなんとかしたい
  • XYZ方式のAPI
  • サーバー管理不要

制約

MapServer自体(サーバ含む)には手は入れたくない。
正攻法ならMapProxyなどが第一選択だと考えられるが、
新たにサーバを立てるのは管理上・コスト上回避したい

コード例

https://github.com/yutakarmc/gae-map-tile-cache
(ツッコミどころは多いと思います。ぜひ遠慮なくよろしくお願いします)

  1. Google CLOUD CDN
  2. Memcache
  3. Google Cloud Storage
  4. オリジンサーバのWMS 上からヒットしたところで返してくれる。 1-2ならかなり高速。3は意外に時間がかかる。 でも、狙い通り小縮尺では4よりかなり高速。

利点

  • サーバー管理不要
  • アクセスが集中しても、
    • どんどんスケールアウトしてくれる
    • CLOUD CDNが結構面倒を見てくれる
  • 無料枠がある(Google App Engineのインスタンス、Cloud Storageとも)
  • GoogleやFirebaseの認証がつけられる

欠点

- CLOUD CDN のキャッシュはお任せ(消去する方法が…?、キャッシュ期間は計画的に?)
- ロックイン?
- GAE-オリジンサーバ、GAEは容赦しない

今後

  • AWS Lambdaなどでのサーバーレス構成も試してみたい
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1