-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathGateway.drawio
87 lines (87 loc) · 13.5 KB
/
Gateway.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<mxfile host="app.diagrams.net" modified="2023-05-14T01:43:54.398Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/112.0" etag="NbqfFAgDk0QnBDQLebIN" version="21.3.0" type="device">
<diagram name="Page-1" id="3mNwwwslPZ4NwAbsMwck">
<mxGraphModel dx="954" dy="589" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="0g3X7u-1-j87Hs0VBk-c-27" style="edgeStyle=orthogonalEdgeStyle;rounded=1;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;fontColor=#5C5C5C;fillColor=#21C0A5;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="330" y="168" as="targetPoint" />
<Array as="points">
<mxPoint x="155" y="168" />
<mxPoint x="155" y="168" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-1" value="Browser" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=none;imageAspect=0;aspect=fixed;image=https://cdn2.iconfinder.com/data/icons/browsers/Firefox.png;fillColor=#21C0A5;strokeColor=#006658;fontColor=#5C5C5C;" parent="1" vertex="1">
<mxGeometry x="15" y="158" width="98" height="98" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-7" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;labelBackgroundColor=none;strokeColor=#006658;fontColor=default;strokeWidth=1;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-3" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="592" y="220" />
<mxPoint x="592" y="222" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-10" style="edgeStyle=orthogonalEdgeStyle;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;strokeWidth=1;labelBackgroundColor=none;strokeColor=#006658;fontColor=default;rounded=1;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-21" style="edgeStyle=orthogonalEdgeStyle;rounded=1;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;fontColor=#5C5C5C;fillColor=#21C0A5;jumpStyle=arc;startArrow=classic;startFill=1;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-23" style="edgeStyle=orthogonalEdgeStyle;rounded=1;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;fontColor=#5C5C5C;fillColor=#21C0A5;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-24" value="<div style="font-size: 19px;"><font style="font-size: 19px;">429</font></div><div style="font-size: 19px;"><font style="font-size: 19px;">To Many Request</font><br></div><div><font style="font-size: 11px;">(Service denial/API Throttle)</font><br></div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=20;fontFamily=Architects Daughter;fontColor=#5C5C5C;labelBackgroundColor=none;" parent="0g3X7u-1-j87Hs0VBk-c-23" vertex="1" connectable="0">
<mxGeometry x="-0.1448" relative="1" as="geometry">
<mxPoint x="56" y="13" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-25" style="edgeStyle=orthogonalEdgeStyle;rounded=1;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;fontColor=#5C5C5C;fillColor=#21C0A5;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;hachureGap=4;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=16;fontColor=#5C5C5C;fillColor=#21C0A5;" parent="1" source="0g3X7u-1-j87Hs0VBk-c-2" target="0g3X7u-1-j87Hs0VBk-c-1" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="279" y="232" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-2" value="<div>Spring Cloud Gateway</div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Load Balance</div><div>- Routing</div><div>- TLS/SSL<br></div>" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;image=img/lib/azure2/compute/Azure_Spring_Cloud.svg;labelBackgroundColor=none;fillColor=#21C0A5;strokeColor=#006658;fontColor=#5C5C5C;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="330" y="149" width="142" height="142" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-3" value="<div>Micro service 2</div><div>(Instances)<br></div>" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=none;imageAspect=0;aspect=fixed;image=https://cdn2.iconfinder.com/data/icons/boxicons-logos/24/bxl-spring-boot-128.png;imageBorder=none;imageBackground=#00994D;fontColor=#5C5C5C;fillColor=#21C0A5;strokeColor=#006658;fillStyle=dots;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="712" y="197" width="54" height="54" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-5" value="Encrypted Request" style="sketch=0;outlineConnect=0;fontColor=#5C5C5C;fillColor=#21C0A5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.encrypted_data;labelBackgroundColor=none;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="200" y="136" width="23.85" height="30" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-8" value="<div>Micro service 3</div><div>(Instances)<br></div>" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=none;imageAspect=0;aspect=fixed;image=https://cdn2.iconfinder.com/data/icons/boxicons-logos/24/bxl-spring-boot-128.png;imageBorder=none;imageBackground=#006600;fontColor=#5C5C5C;fillColor=#21C0A5;strokeColor=#006658;fillStyle=dots;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="713.5" y="290" width="51" height="51" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-9" value="<div>Micro service 1</div><div>(Instances)<br></div>" style="shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=none;imageAspect=0;aspect=fixed;image=https://cdn2.iconfinder.com/data/icons/boxicons-logos/24/bxl-spring-boot-128.png;imageBorder=none;imageBackground=#006633;fontColor=#5C5C5C;fillColor=#21C0A5;strokeColor=#006658;fillStyle=dots;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;sketch=1;curveFitting=1;jiggle=2;" parent="1" vertex="1">
<mxGeometry x="712" y="97" width="58" height="58" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-15" value="Encrypted Response" style="sketch=0;outlineConnect=0;fontColor=#5C5C5C;fillColor=#21C0A5;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.encrypted_data;labelBackgroundColor=none;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;" parent="1" vertex="1">
<mxGeometry x="193" y="198" width="23.85" height="30" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-16" value="Original data" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=20;fontFamily=Architects Daughter;fontColor=#5C5C5C;" parent="1" vertex="1">
<mxGeometry x="496" y="204" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-20" value="<div>Google Re-captcha</div><div>Validation</div>" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.captcha;fontColor=#666666;fontSize=25;strokeColor=#666666;mainText=;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fillColor=#21C0A5;" parent="1" vertex="1">
<mxGeometry x="436" y="6" width="220" height="50" as="geometry" />
</mxCell>
<mxCell id="0g3X7u-1-j87Hs0VBk-c-22" value="<div>Redis&nbsp; -</div><div>Rate limiting<br></div>&nbsp;(Leaky Bucket)" style="image;sketch=0;aspect=fixed;html=1;points=[];align=center;fontSize=12;image=img/lib/mscae/Cache_Redis_Product.svg;hachureGap=4;jiggle=2;curveFitting=1;strokeColor=#006658;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontColor=#5C5C5C;fillColor=#21C0A5;labelBackgroundColor=none;" parent="1" vertex="1">
<mxGeometry x="472" y="460" width="84.52" height="71" as="geometry" />
</mxCell>
<mxCell id="aBoda-tAgWsOqAm0qw8J-1" value="<div style="font-size: 15px;"><font style="font-size: 15px;">Features:</font></div><div style="font-size: 15px;"><font style="font-size: 15px;">* Load balancer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <br></font></div><div style="font-size: 15px;"><font style="font-size: 15px;">* Data encryption and decryption&nbsp; <br></font></div><div style="font-size: 15px;"><font style="font-size: 15px;">* Routing (Single entry point to all&nbsp; microservices)</font></div><div style="font-size: 15px;"><font style="font-size: 15px;">* API Rate Limiting (Service denial)&nbsp; <br></font></div><div style="font-size: 15px;"><font style="font-size: 15px;">* Single Google ReCaptcha validation <br></font></div><div style="font-size: 15px;"><font style="font-size: 15px;">&nbsp;*TLS/SSL<font style="font-size: 15px;"><br></font></font></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;fontColor=#000000;darkOpacity=0.05;fillColor=#FFF9B2;strokeColor=none;fillStyle=solid;direction=west;gradientDirection=north;gradientColor=#FFF2A1;shadow=1;size=20;pointerEvents=1;sketch=1;hachureGap=4;jiggle=2;curveFitting=1;fontFamily=Architects Daughter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DArchitects%2BDaughter;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="17" y="368" width="264" height="170" as="geometry" />
</mxCell>
<mxCell id="aBoda-tAgWsOqAm0qw8J-2" value="-Thirumal<br><br>" style="text;strokeColor=none;align=left;fillColor=none;verticalAlign=middle;rounded=0;fontSize=20;fontFamily=Courier New;fontColor=#333333;fontStyle=1;horizontal=1;labelBorderColor=none;labelBackgroundColor=none;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="649" y="531" width="184" height="25" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>