/------------\ /------------\ /------------\ | websocket | | websocket | | websocket | |------------| |------------| |------------| x N | PUSH | SUB | | PUSH | SUB | | PUSH | SUB | /------------\ \------------/ \------------/ \------------/ | notify | | ^ | ^ | ^ |------------| | | | | | | | SUB | +-------------++--------------+ | \------------/ | | | | ^ +-------|------+--------------+ | | | +------------------------------------+ v | | /--------------\ | PULL | PUB |----------------------------------+ |--------------| | ----------------| triproxy |----------------- x N | |--------------| | | DEALER | | \--------------/ | ^ | | | +----------------+----------------+ | | | | | v v v v /-------------\ /-------------\ /-------------\ /------------\ | DEALER | | DEALER | | DEALER | | SUB | |-------------| |-------------| |-------------| |------------| | processor | | processor | | processor | x N | reaper | |-------------| |-------------| |-------------| |------------| | DEALER | | DEALER | | DEALER | | PUSH | \-------------/ \-------------/ \-------------/ \------------/ ^ ^ ^ | | | | | +----------------+----------------+ | | | v | /--------------\ | | DEALER | | |--------------| | -----------------| triproxy |---------------- x N | |--------------| | +-------------->| PULL | PUB | | | \--------------/ | | ^ ^ | | | | | | | +----------------------------+ | | | | | | | | | +----|-------------------------------------+ | +-------|------+----------------+ | | | | | | | | +-------------+-+---------------+ | | | | | | | | | | | | v | v | v | | /------------\ /------------\ /------------\ | | | PUSH | SUB | | PUSH | SUB | | PUSH | SUB | | | |------------| |------------| |------------| x N | | | dev | | dev | | dev | | | \------------/ \------------/ \------------/ | | ^ ^ ^ | | : : : | | +---------------+---------------+ | | : | | v | | /------------\ | +-----------------| PUSH | SUB |<-------------------------+ |------------| | provider | \------------/