Difference between revisions of "Server/Architecture"
m (Created page with "== Information flow == <graphviz> digraph G { size="14,20"; node [URL="http://meta.cosmopool.net/wiki/\N"] Client; subgraph cluster_webserver { label="webserver"; style...") |
m |
||
Line 6: | Line 6: | ||
Client; | Client; | ||
+ | |||
+ | subgraph cluster_node1 { | ||
+ | label="Node 1"; | ||
subgraph cluster_webserver { | subgraph cluster_webserver { | ||
Line 14: | Line 17: | ||
HttpServer [style="rounded", shape=box]; | HttpServer [style="rounded", shape=box]; | ||
Authentication [shape=box]; | Authentication [shape=box]; | ||
− | + | Handler [shape=box]; | |
− | + | Session [shape=box]; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | |||
HttpServer -> Handler [dir="both"]; | HttpServer -> Handler [dir="both"]; | ||
Authentication -> Request [dir="both"]; | Authentication -> Request [dir="both"]; | ||
Handler -> Request [dir="both"]; | Handler -> Request [dir="both"]; | ||
Handler -> Authentication [dir="both"]; | Handler -> Authentication [dir="both"]; | ||
+ | Handler -> Session [dir="both"]; | ||
+ | Session -> Request [dir="both"]; | ||
subgraph cluster_storage { | subgraph cluster_storage { | ||
Line 39: | Line 35: | ||
LocalStorage [shape=box]; | LocalStorage [shape=box]; | ||
RemoteStorage [shape=box]; | RemoteStorage [shape=box]; | ||
+ | HttpClient [shape=box]; | ||
+ | { rank=same; RemoteStorage; HttpClient; } | ||
} | } | ||
Request -> LocalStorage [dir="both"]; | Request -> LocalStorage [dir="both"]; | ||
+ | Request -> RemoteStorage [dir="both"]; | ||
+ | RemoteStorage -> HttpClient [dir="both"]; | ||
− | + | } | |
+ | |||
+ | Client -> HttpServer [dir="both"]; | ||
+ | |||
+ | |||
+ | subgraph cluster_node2 { label="Node 2"; StorageNode2; } | ||
+ | { rank=same; HttpClient; StorageNode2 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; } | ||
+ | HttpClient -> StorageNode2 [label="http", dir="both"]; | ||
− | + | subgraph cluster_node3 { label="Node 3"; StorageNode3; } | |
+ | { rank=same; HttpClient; StorageNode3 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; } | ||
+ | HttpClient -> StorageNode3 [label="http", dir="both"]; | ||
} | } |
Revision as of 19:39, 1 October 2011
Information flow
<graphviz> digraph G { size="14,20"; node [URL="http://meta.cosmopool.net/wiki/\N"]
Client;
subgraph cluster_node1 { label="Node 1";
subgraph cluster_webserver {
label="webserver"; style=filled; fillcolor=olivedrab1;
HttpServer [style="rounded", shape=box]; Authentication [shape=box]; Handler [shape=box]; Session [shape=box];
}
HttpServer -> Handler [dir="both"]; Authentication -> Request [dir="both"]; Handler -> Request [dir="both"]; Handler -> Authentication [dir="both"]; Handler -> Session [dir="both"]; Session -> Request [dir="both"];
subgraph cluster_storage {
label="storage"; style=filled; fillcolor=paleturquoise1; Request [shape=box, style="rounded"]; LocalStorage [shape=box]; RemoteStorage [shape=box]; HttpClient [shape=box]; { rank=same; RemoteStorage; HttpClient; }
}
Request -> LocalStorage [dir="both"]; Request -> RemoteStorage [dir="both"]; RemoteStorage -> HttpClient [dir="both"];
}
Client -> HttpServer [dir="both"];
subgraph cluster_node2 { label="Node 2"; StorageNode2; }
{ rank=same; HttpClient; StorageNode2 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; }
HttpClient -> StorageNode2 [label="http", dir="both"];
subgraph cluster_node3 { label="Node 3"; StorageNode3; } { rank=same; HttpClient; StorageNode3 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; } HttpClient -> StorageNode3 [label="http", dir="both"];
} </graphviz>