2013-10-11 18:21:28 -04:00
|
|
|
// dot -Gnewrank -Tpng indexing_service.dot > indexing_service.png
|
|
|
|
|
|
|
|
digraph g {
|
|
|
|
node [ fontname = "Helvetica Neue" ]
|
|
|
|
node [ fontname = "Helvetica Neue" ]
|
|
|
|
edge [ fontname = "Helvetica Neue Light Italic" fontsize = 12]
|
|
|
|
|
|
|
|
new_task[shape="plaintext" fontname="Helvetica Neue Light Italic"]
|
|
|
|
overlord[shape="box" label="Overlord"]
|
|
|
|
|
|
|
|
new_task -> overlord
|
|
|
|
overlord -> zk_tasks:mm1:n [label = "new_task"]
|
|
|
|
zk_tasks:mm1 -> mm1 [label = "new_task"]
|
|
|
|
|
|
|
|
subgraph cluster_0 {
|
|
|
|
style = "dotted"
|
|
|
|
label = "ZooKeeper"
|
|
|
|
fontname = "Helvetica Neue"
|
|
|
|
|
|
|
|
zk_status -> zk_tasks [style="invis"]
|
|
|
|
|
|
|
|
zk_status [fontname="Source Code Pro" shape = record label = "<status> /status | { <new_task> /new_task }"]
|
|
|
|
zk_tasks [fontname="Source Code Pro" shape=record label="<tasks> /tasks | {<mm1> /mm1 | <mm2> /mm2 | <mm3> /mm3}"]
|
|
|
|
|
|
|
|
{ rank = same; zk_status zk_tasks }
|
|
|
|
}
|
|
|
|
|
|
|
|
subgraph cluster_mm1 {
|
|
|
|
style="dotted"
|
2013-10-16 21:08:36 -04:00
|
|
|
mm1 [shape = "box" label = "Middle Manager 1" ]
|
2013-10-11 18:21:28 -04:00
|
|
|
peon_11[label = "peon"]
|
|
|
|
peon_12[label = "peon"]
|
|
|
|
peon_13[label = "peon"]
|
|
|
|
|
2017-08-27 13:17:15 -04:00
|
|
|
mm1 -> {peon_11;peon_12}
|
|
|
|
mm1 -> peon_13 [label = "new_task"]
|
|
|
|
mm1 -> peon_13:e [label = "new_task_status" dir=back]
|
2013-10-11 18:21:28 -04:00
|
|
|
}
|
|
|
|
|
2017-08-27 13:17:15 -04:00
|
|
|
zk_status:new_task:s -> mm1:e [label = "new_task_status" dir = back]
|
2013-10-11 18:21:28 -04:00
|
|
|
overlord:e -> zk_status:new_task:n [dir=back label="new_task_status"]
|
|
|
|
}
|