Initial commit
This commit is contained in:
99
docs/design/arch.dot
Normal file
99
docs/design/arch.dot
Normal file
@@ -0,0 +1,99 @@
|
||||
// Copyright 2017 The OpenPitrix Authors. All rights reserved.
|
||||
// Use of this source code is governed by a Apache license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
// dot -Tpng -o output.png input.dot
|
||||
|
||||
digraph G {
|
||||
rankdir = LR;
|
||||
|
||||
subgraph clusterClient {
|
||||
node [
|
||||
fixedsize = true,
|
||||
width = 1, height = 1,
|
||||
]
|
||||
WebUI [shape = doublecircle];
|
||||
MobileApp [shape = doublecircle];
|
||||
XClient [shape = doublecircle];
|
||||
}
|
||||
|
||||
WebUI -> ApiGateway[
|
||||
label = "rest api",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
MobileApp -> ApiGateway[
|
||||
label = "rest api",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
XClient -> ApiGateway[
|
||||
label = "rest api",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
|
||||
subgraph clusterOpenpitrix {
|
||||
|
||||
// rest api gateway
|
||||
ApiGateway [shape = rect,
|
||||
fixedsize = true,
|
||||
width = 1.4, height = 6.2,
|
||||
];
|
||||
|
||||
// microservice
|
||||
subgraph clusterServices {
|
||||
node [
|
||||
shape=record,
|
||||
fixedsize = true,
|
||||
width = 2.6, height = 1.3,
|
||||
];
|
||||
Cluster [shape = Mrecord];
|
||||
Runtime [shape = Mrecord,
|
||||
label="Runtime |{ plugin |{k8s|QingCloud|Other} }"
|
||||
];
|
||||
App [shape = Mrecord];
|
||||
Repo [shape = Mrecord];
|
||||
}
|
||||
|
||||
// service database
|
||||
subgraph clusterDB {
|
||||
node [
|
||||
fixedsize = true,
|
||||
width = 2.6, height = 1.3,
|
||||
];
|
||||
RepoDB [shape = cylinder];
|
||||
AppDB [shape = cylinder];
|
||||
RuntimeDB [shape = cylinder];
|
||||
ClusterDB [shape = cylinder];
|
||||
}
|
||||
|
||||
// api gateway
|
||||
ApiGateway -> Cluster [
|
||||
label = "grpc",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
ApiGateway -> Repo [
|
||||
label = "grpc",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
ApiGateway -> App [
|
||||
label = "grpc",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
ApiGateway -> Runtime [
|
||||
label = "grpc",
|
||||
dir = both,
|
||||
style = bold,
|
||||
];
|
||||
|
||||
Repo -> RepoDB [label="SQL"];
|
||||
App -> AppDB [label="SQL"];
|
||||
Runtime -> RuntimeDB [label="SQL"];
|
||||
Cluster -> ClusterDB [label="SQL"];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user