Opened 10 years ago

Closed 8 years ago

#2005 closed enhancement (fixed)

Make it possible for renderd to be distributed

Reported by: amm Owned by: jburgess777@…
Priority: minor Milestone:
Component: mod_tile Version:
Keywords: renderd distributed patch Cc:

Description

The following patch is thought mostly as a request for comments. Although it seems to work fine locally, it is only lightly tested and presumably is still missing some corner (error) cases.

Currently mod_tile driven renderd can only use a single render server. It might however be useful to use several servers to achieve higher performance. The attached patch allows you to do this. It has one master renderd that talks to mod_tile and can have several slave renderd's that may be on different machines as long as they can access a common filesystem for tile storage.

The way it works is that the master renderd has a bunch of extra render threads, one per slave render thread, however rather than rendering it it self, it simply passes it on to the slave process. As only as many requests get passed on to the slave as there are rendering threads available, these always get rendered immediately, thus keeping a centralised queue. The slaves are unchanged other than that they now take requests over TCP/IP sockets rather than unix sockets.

Any suggestions or comments if this patch is useful or on its style are welcome.

Attachments (1)

renderd_distributed.patch (15.4 KB) - added by amm 10 years ago.
Initial version of the patch

Download all attachments as: .zip

Change History (2)

Changed 10 years ago by amm

Attachment: renderd_distributed.patch added

Initial version of the patch

comment:1 Changed 8 years ago by amm

Component: mapnikmod_tile
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.