1
+ @startuml
2
+
3
+ skinparam ComponentBackgroundColor MintCream
4
+ skinparam DatabaseBackgroundColor Green
5
+ skinparam DatabaseFontColor White
6
+
7
+ 'three changes needed to change layout
8
+ 'to go back to vertical,
9
+ ' comment out the direction line next here,
10
+ ' swap the comments on block of request/chunk edges
11
+ ' swpa the comments on the AS edge
12
+ left to right direction
13
+
14
+ frame JASMIN {
15
+ frame "External Cloud" {
16
+
17
+ component vm2 {
18
+ component reductionist2
19
+ }
20
+ component vm3 {
21
+ component reductionist3
22
+ }
23
+ component vm1 {
24
+
25
+ component haproxy
26
+ component reductionist1
27
+
28
+ }
29
+ interface "public IP" as pip
30
+ pip -- haproxy
31
+
32
+
33
+ reductionist1 <- haproxy : "<color: blue>request3 "
34
+ haproxy --> reductionist2 : <color: blue> request1
35
+ haproxy --> reductionist3 : <color: blue> request2
36
+ reductionist1 -> haproxy : "<color: red> reduced\n<color: red> chunk 3"
37
+ haproxy <-- reductionist2 : <color: red>reduced\n<color: red>chunk 1
38
+ haproxy <-- reductionist3 : <color: red>reduced\n<color: red>chunk 2
39
+
40
+ 'reductionist1 <- haproxy : <color: blue>request3
41
+ 'haproxy --> reductionist2 : <color: blue> request1
42
+ 'haproxy --> reductionist3 : <color: blue> request2
43
+ 'reductionist1 -> haproxy : <color: red>reduced\n<color: red>chunk 3
44
+ 'haproxy <-- reductionist2 : <color: red>reduced\n<color: red>chunk 1
45
+ 'haproxy <-- reductionist3 : <color: red>reduced\n<color: red>chunk 2
46
+
47
+ }
48
+
49
+
50
+ frame "Internal Cloud" {
51
+ component " S3\nGateway" as s3
52
+ database Storage
53
+ s3 - Storage
54
+
55
+ }
56
+ }
57
+ rectangle "User Application" {
58
+ component "PyActiveStorage" as AS
59
+ }
60
+
61
+ 'AS <-> pip: series of requests for reduced chunks
62
+ AS <-> pip: series\nof\nrequests\nfor\nreduced\nchunks\n
63
+
64
+ "User Application" -[hidden]- "External Cloud"
65
+
66
+
67
+
68
+ reductionist1 <--> s3: get\n data
69
+ reductionist2 <--> s3: get\ndata
70
+ reductionist3 <--> s3: get\ndata\n
71
+
72
+
73
+
74
+
75
+
76
+ @enduml
0 commit comments