Difference between revisions of "Server/Architecture"
Jump to navigation
Jump to search
m |
m |
||
Line 8: | Line 8: | ||
subgraph cluster_node1 { | subgraph cluster_node1 { | ||
− | label="Node 1"; | + | label="Node 1"; |
− | + | subgraph cluster_webserver { | |
− | subgraph cluster_webserver { | + | label="webserver"; |
− | + | style=filled; | |
− | + | fillcolor=olivedrab1; | |
− | + | ||
− | + | HttpServer [style="rounded", shape=box]; | |
− | + | Authentication [shape=box]; | |
− | + | Handler [shape=box]; | |
− | + | Session [shape=box]; | |
− | + | } | |
+ | subgraph cluster_storage { | ||
+ | label="storage"; | ||
+ | style=filled; | ||
+ | fillcolor=paleturquoise1; | ||
+ | Request [shape=box, style="rounded"]; | ||
+ | Klocation [shape=box]; | ||
+ | Cache [shape=box]; | ||
+ | KcategoryManagers [shape=box, label="KclassManager\nKattributeManager\nKinstanceManager\nKrelationmanager\nKnotationManager\nKaccessManager"]; | ||
+ | Request -> KcategoryManagers [dir="both"]; | ||
+ | Cache -> KcategoryManagers [dir="both"]; | ||
+ | Klocation -> KcategoryManagers [dir="both"]; | ||
+ | {rank=same; Klocation; KcategoryManagers; Cache; } | ||
+ | LocalStorage [shape=box, label="KclassLocal\nKinstanceLocal\nKrelationLocal"]; | ||
+ | RemoteStorage [shape=box]; | ||
+ | HttpClient [shape=box]; | ||
+ | { rank=same; RemoteStorage; HttpClient; } | ||
+ | } | ||
+ | HttpServer -> Handler [dir="both"]; | ||
+ | Authentication -> Request [dir="both"]; | ||
+ | Handler -> Request [dir="both"]; | ||
+ | Handler -> Authentication [dir="both"]; | ||
+ | Handler -> Session [dir="both"]; | ||
+ | Session -> Request [dir="both"]; | ||
+ | KcategoryManagers -> LocalStorage [dir="both"]; | ||
+ | KcategoryManagers -> RemoteStorage [dir="both"]; | ||
+ | RemoteStorage -> HttpClient [dir="both"]; | ||
} | } | ||
+ | Client -> HttpServer [dir="both"]; | ||
− | + | subgraph cluster_node2 { | |
− | + | label="Node 2"; | |
− | + | StorageNode2 [shape=box, style=filled; label="webserver 2", fillcolor="olivedrab1"]; | |
− | |||
− | |||
− | |||
− | |||
− | subgraph | ||
− | label=" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
+ | { rank=same; HttpClient; StorageNode2; } | ||
+ | HttpClient -> StorageNode2 [label="https", dir="both"]; | ||
− | + | subgraph cluster_node3 { | |
− | + | label="Node 3"; | |
− | + | StorageNode3 [shape=box, style=filled; label="webserver 3", fillcolor="olivedrab1"]; | |
− | |||
− | |||
} | } | ||
− | + | { rank=same; HttpClient; StorageNode3; } | |
− | + | HttpClient -> StorageNode3 [label="https", dir="both"]; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | { rank=same; HttpClient; StorageNode3 | ||
− | HttpClient -> StorageNode3 [label=" | ||
} | } | ||
</graphviz> | </graphviz> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 20: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]; } subgraph cluster_storage { label="storage"; style=filled; fillcolor=paleturquoise1; Request [shape=box, style="rounded"]; Klocation [shape=box]; Cache [shape=box]; KcategoryManagers [shape=box, label="KclassManager\nKattributeManager\nKinstanceManager\nKrelationmanager\nKnotationManager\nKaccessManager"]; Request -> KcategoryManagers [dir="both"]; Cache -> KcategoryManagers [dir="both"]; Klocation -> KcategoryManagers [dir="both"]; {rank=same; Klocation; KcategoryManagers; Cache; } LocalStorage [shape=box, label="KclassLocal\nKinstanceLocal\nKrelationLocal"]; RemoteStorage [shape=box]; HttpClient [shape=box]; { rank=same; RemoteStorage; HttpClient; } } HttpServer -> Handler [dir="both"]; Authentication -> Request [dir="both"]; Handler -> Request [dir="both"]; Handler -> Authentication [dir="both"]; Handler -> Session [dir="both"]; Session -> Request [dir="both"]; KcategoryManagers -> LocalStorage [dir="both"]; KcategoryManagers -> RemoteStorage [dir="both"]; RemoteStorage -> HttpClient [dir="both"];
} Client -> HttpServer [dir="both"];
subgraph cluster_node2 {
label="Node 2"; StorageNode2 [shape=box, style=filled; label="webserver 2", fillcolor="olivedrab1"];
} { rank=same; HttpClient; StorageNode2; } HttpClient -> StorageNode2 [label="https", dir="both"];
subgraph cluster_node3 {
label="Node 3"; StorageNode3 [shape=box, style=filled; label="webserver 3", fillcolor="olivedrab1"];
} { rank=same; HttpClient; StorageNode3; } HttpClient -> StorageNode3 [label="https", dir="both"];
} </graphviz>