Hi

around a month ago, jochen announced [1] a tileserver written in nodejs. I really liked it and because I also really liked to learn nodejs, I wrote my own version [2]. It has more features than the original and is better commented. Also it is able to talk to a current tirex installation which listens on an unix_dgram socket instead of an udp4 one.

It offers the following calls:
GET /
  send a default OpenLayers html showing all configured maps

GET /maps
  list all maps with their max/min zoom levels (powers the OpenLayers html)

GET /stats
very detailed statistics about requests, renders and timeouts on a global, per-map and per-zoom level

GET /tiles/0/0/0.png
  deliver the tile or request it from tirex it it doesn't exist yet.

GET /tiles/0/0/0.png/render
  directly enqueue the tile to tirex

GET /tiles/0/0/0.png/dirty
  mark the tile dirty on disk

GET /tiles/0/0/0.png/status
  fetch the stytus of the tile


This Tileserver has a log of useful features
 - directly reads tirex config and offers all rendered maps
- very detailed statistics tracking about requests, renders and timeouts on a global, per-map and per-zoom level
 - serve up to 20 zoom-levels (limited by metatile file naming)
 - custom cache configurations for arbitary zoom-level ranges
 - serving static files from disk
 - very low memory footprint (15-30 MB of RSS)

but it's still not feature-complete. It's still lacking those important features:
 - gzip compression for static files
 - ip-based request throtteling

To get the latest features (esp.ecially the /dirty call) you need the not-yet released version 0.5 of nodejs (available from github [3]) but if you don't need the /dirty-call the current stable 0.4.x will also do.

So, this thing is experimental as nodejs is, so don't use it on your production system right now :)

Peter


[1] <http://blog.jochentopf.com/2011-03-03-a-nodejs-tileserver-for-tirex.html>
[2] <http://svn.toolserver.org/svnroot/mazder/node-tileserver/>
[3] <https://github.com/joyent/node>

_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev

Reply via email to