Ticket #137 (closed enhancement: fixed)
Support multiple hosts for tile maps
| Reported by: | jbirch | Owned by: | madair |
|---|---|---|---|
| Priority: | P2 | Milestone: | 2.3 |
| Component: | Widgets | Version: | SVN |
| Severity: | Major | Keywords: | |
| Cc: | External ID: | ||
| state: | New | Browser: | All |
| Operating System: | All |
Description
One of the limiting factors of perceived performance for tiled maps is that (by RFC) the number of active HTTP 1.1 connections to a server should be limited to 2. This providers a very small pipeline for service multiple images, javascript files, and other supporting resources. OpenLayers works around this by allowing you to specify multiple hosts to retrieve tiles from as a comma-separated list, and accesses them in a round-robin fashion. This could either be used to make requests to several load-balanced tile servers, or a single server with multiple DNS host entries pointing to it.
To my understanding, Fusion currently requires that the user specify a single MapGuide MapAgent or MapServer CGI in its config file, and then uses that for all requests of that type.
I am not sure what the implications of this would be (does OpenLayers also round-robin non-image requests?) but I believe that an ideal system would use a single host from the list per-client for all non-map requests so that you don't run into session problems, but would use a list of hosts for tiled map requests.
One way of supporting this would be to leave the WebTierURL specification in the config.json file alone (and use this for non-mapimage requests), and add an extension to the Map element to specify which hosts to retrieve maps from. Again, I'm not sure of how this would work with Fusion/OpenLayers? internals, but it seems like the least invasive approach, and would also lend itself well to defining external sources for non-MapGuide/MapServer map types.
