mapbox / nepomuk

A public transit router for GTFS feeds (currently only static) written in modern c++
MIT License
24 stars 8 forks source link

Implement ZeroMQ / PBF Interface Communication #158

Closed MoKob closed 7 years ago

MoKob commented 7 years ago

Node processes, when using cluster, cannot share the same engine object. As a result, the interaction with the engine itself should be as lightweight as possible.

Similar to what already came up in #3, I propose the following architecture using ZeroMQ and IPC.

screen shot 2017-05-30 at 13 13 08 2

Nodebindings will not interact with the engine directly, but only supply a simple interface that manages the IPC communication / encoding / decoding.

The Engine will listen on IPC calls, requesting PBF form requests, replying with PBF form results.

This task requires a whole range of changes:

/cc @daniel-j-h