Load-Balancer-diagram.excalidraw
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
Load Balancer — L4 vs L7 Topology Diagram
Text Elements
L4 (Transport) ^l4-label L7 (Application) ^l7-label Clients ^l4-clients Clients ^l7-clients Load Balancer (L4) ^l4-lb Load Balancer (L7) ^l7-lb Backend-1 ^l4-b1 Backend-2 ^l4-b2 Backend-3 ^l4-b3 API Server-1 ^l7-api1 API Server-2 ^l7-api2 Static Cache-1 ^l7-static1 Static Cache-2 ^l7-static2 TCP/UDP, no content inspection, fastest ^l4-desc HTTP aware, path/header routing, SSL termination ^l7-desc /api ^l7-route-api /static ^l7-route-static Algorithms: Round-Robin, Least-Connections, IP-Hash, Weighted ^algo-label
%%
Drawing
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "l4-label",
"type": "text",
"x": 60,
"y": 20,
"width": 200,
"height": 28,
"text": "L4 (Transport)",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-label",
"type": "text",
"x": 440,
"y": 20,
"width": 220,
"height": 28,
"text": "L7 (Application)",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"strokeColor": "#e67700",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-clients-box",
"type": "rectangle",
"x": 80,
"y": 60,
"width": 160,
"height": 40,
"strokeColor": "#1e1e1e",
"backgroundColor": "#f8f9fa",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-clients-text",
"type": "text",
"x": 100,
"y": 72,
"width": 120,
"height": 20,
"text": "Clients",
"fontSize": 14,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "arrow-l4-clients-lb",
"type": "arrow",
"x": 160,
"y": 100,
"width": 0,
"height": 50,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [0, 50]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "l4-lb-box",
"type": "rectangle",
"x": 80,
"y": 150,
"width": 160,
"height": 50,
"strokeColor": "#1971c2",
"backgroundColor": "#e7f5ff",
"fillStyle": "solid",
"strokeWidth": 3,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-lb-text",
"type": "text",
"x": 88,
"y": 163,
"width": 144,
"height": 24,
"text": "Load Balancer (L4)",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b1-box",
"type": "rectangle",
"x": 20,
"y": 260,
"width": 100,
"height": 40,
"strokeColor": "#2f9e44",
"backgroundColor": "#ebfbee",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b1-text",
"type": "text",
"x": 30,
"y": 272,
"width": 80,
"height": 20,
"text": "Backend-1",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b2-box",
"type": "rectangle",
"x": 110,
"y": 260,
"width": 100,
"height": 40,
"strokeColor": "#2f9e44",
"backgroundColor": "#ebfbee",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b2-text",
"type": "text",
"x": 120,
"y": 272,
"width": 80,
"height": 20,
"text": "Backend-2",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b3-box",
"type": "rectangle",
"x": 200,
"y": 260,
"width": 100,
"height": 40,
"strokeColor": "#2f9e44",
"backgroundColor": "#ebfbee",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l4-b3-text",
"type": "text",
"x": 210,
"y": 272,
"width": 80,
"height": 20,
"text": "Backend-3",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "arrow-l4-lb-b1",
"type": "arrow",
"x": 130,
"y": 200,
"width": -60,
"height": 60,
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [-60, 60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "arrow-l4-lb-b2",
"type": "arrow",
"x": 160,
"y": 200,
"width": 0,
"height": 60,
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [0, 60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "arrow-l4-lb-b3",
"type": "arrow",
"x": 190,
"y": 200,
"width": 60,
"height": 60,
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [60, 60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "arrow-l4-hc-b1",
"type": "arrow",
"x": 70,
"y": 280,
"width": -20,
"height": -60,
"strokeColor": "#868e96",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"strokeStyle": "dashed",
"opacity": 100,
"points": [[0, 0], [-20, -60]],
"startArrowhead": null,
"endArrowhead": "arrow",
"label": {
"text": "health check",
"fontSize": 9,
"strokeColor": "#868e96"
}
},
{
"id": "arrow-l4-hc-b2",
"type": "arrow",
"x": 160,
"y": 280,
"width": 0,
"height": -60,
"strokeColor": "#868e96",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"strokeStyle": "dashed",
"opacity": 100,
"points": [[0, 0], [0, -60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "arrow-l4-hc-b3",
"type": "arrow",
"x": 250,
"y": 280,
"width": 20,
"height": -60,
"strokeColor": "#868e96",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"strokeStyle": "dashed",
"opacity": 100,
"points": [[0, 0], [20, -60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "l4-desc-text",
"type": "text",
"x": 20,
"y": 315,
"width": 280,
"height": 20,
"text": "TCP/UDP, no content inspection, fastest",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-clients-box",
"type": "rectangle",
"x": 440,
"y": 60,
"width": 220,
"height": 40,
"strokeColor": "#1e1e1e",
"backgroundColor": "#f8f9fa",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-clients-text",
"type": "text",
"x": 490,
"y": 72,
"width": 120,
"height": 20,
"text": "Clients",
"fontSize": 14,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "arrow-l7-clients-lb",
"type": "arrow",
"x": 550,
"y": 100,
"width": 0,
"height": 50,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [0, 50]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "l7-lb-box",
"type": "rectangle",
"x": 440,
"y": 150,
"width": 220,
"height": 50,
"strokeColor": "#e67700",
"backgroundColor": "#fff3bf",
"fillStyle": "solid",
"strokeWidth": 3,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-lb-text",
"type": "text",
"x": 460,
"y": 163,
"width": 180,
"height": 24,
"text": "Load Balancer (L7)",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#e67700",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "arrow-l7-lb-api",
"type": "arrow",
"x": 510,
"y": 200,
"width": -60,
"height": 60,
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [-60, 60]],
"startArrowhead": null,
"endArrowhead": "arrow",
"label": {
"text": "/api",
"fontSize": 11,
"strokeColor": "#2f9e44"
}
},
{
"id": "arrow-l7-lb-static",
"type": "arrow",
"x": 590,
"y": 200,
"width": 60,
"height": 60,
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100,
"points": [[0, 0], [60, 60]],
"startArrowhead": null,
"endArrowhead": "arrow",
"label": {
"text": "/static",
"fontSize": 11,
"strokeColor": "#1971c2"
}
},
{
"id": "l7-api1-box",
"type": "rectangle",
"x": 400,
"y": 260,
"width": 120,
"height": 36,
"strokeColor": "#2f9e44",
"backgroundColor": "#ebfbee",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-api1-text",
"type": "text",
"x": 410,
"y": 270,
"width": 100,
"height": 20,
"text": "API Server-1",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-api2-box",
"type": "rectangle",
"x": 400,
"y": 306,
"width": 120,
"height": 36,
"strokeColor": "#2f9e44",
"backgroundColor": "#ebfbee",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-api2-text",
"type": "text",
"x": 410,
"y": 316,
"width": 100,
"height": 20,
"text": "API Server-2",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-static1-box",
"type": "rectangle",
"x": 580,
"y": 260,
"width": 120,
"height": 36,
"strokeColor": "#1971c2",
"backgroundColor": "#e7f5ff",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-static1-text",
"type": "text",
"x": 586,
"y": 270,
"width": 108,
"height": 20,
"text": "Static Cache-1",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-static2-box",
"type": "rectangle",
"x": 580,
"y": 306,
"width": 120,
"height": 36,
"strokeColor": "#1971c2",
"backgroundColor": "#e7f5ff",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": 1,
"opacity": 100
},
{
"id": "l7-static2-text",
"type": "text",
"x": 586,
"y": 316,
"width": 108,
"height": 20,
"text": "Static Cache-2",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "arrow-l7-hc-api",
"type": "arrow",
"x": 460,
"y": 296,
"width": 80,
"height": -60,
"strokeColor": "#868e96",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"strokeStyle": "dashed",
"opacity": 100,
"points": [[0, 0], [80, -60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "arrow-l7-hc-static",
"type": "arrow",
"x": 640,
"y": 296,
"width": -60,
"height": -60,
"strokeColor": "#868e96",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"strokeStyle": "dashed",
"opacity": 100,
"points": [[0, 0], [-60, -60]],
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "l7-desc-text",
"type": "text",
"x": 400,
"y": 358,
"width": 320,
"height": 20,
"text": "HTTP aware, path/header routing, SSL termination",
"fontSize": 12,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"strokeColor": "#e67700",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
},
{
"id": "algo-label-text",
"type": "text",
"x": 60,
"y": 400,
"width": 680,
"height": 20,
"text": "Algorithms: Round-Robin, Least-Connections, IP-Hash, Weighted",
"fontSize": 13,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 1,
"opacity": 100
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {}
}%%