인바운드 및 아웃바운드의 독립된 집합으로
네트워크 아키텍처에서 이분 그래프
이분 그래프는 노드를 두 집합으로 나누고, 집합 간에만 엣지가 허용되는(집합 내에서 엣지가 없음을 의미).
네트워크 경계에는 자연스럽게 이분 그래프 구조가 있습니다:
- 인그레스 측: 외부 클라이언트가 한 쪽, 내부 서비스가 다른 쪽. 엣지: 외부 요청이 들어오고, 내부 응답이 나옵니다.
- 이그레스 측: 내부 서비스가 한 쪽, 외부 목적지지가 다른 쪽. 엣지: 내부 서비스가 아웃바운드 호출을 시작하고, 외부 응답이 돌아옵니다.
비대칭성:
- 인그레스: 출처 집합은 무한합니다(인터넷 상의 누구나). 목적 집합은 작으며(몇 가지 서비스). 사용자 수에 따라 볼륨이 확장됩니다.
- 이그레스: 출처 집합은 작으며(몇 가지 내부 서비스). 목적 집합은 유한하며(몇 가지 알려진 파트너). 내부 활동에 따라 볼륨이 확장됩니다.
단일 상자 디자인은 두 이분 그래프 반쪽을 하나의 노드로 압축시킵니다. 그 노드는 외부(인그레스)에서 팬인과 내부(이그레스의 역 방향)에서 팬인을 모두 가집니다. 노드의 부하 = 양쪽 모두의 적절한 축으로 확장되는 역할을 수행하는 각 노드.
분리된 디자인은 두 이분 그래프 반쪽을 별개의 노드에서 보존합니다. 각 노드는 해당 역할에 맞게 적절한 확장 축을 가집니다.
스플릿 전: 컷 정점이 여기저기서 사라짐
Single-Box: One Vertex Holds Everything
Before the split, a single proxy box sits between every external/internal pair. In graph terms it is a cut vertex of high order: its removal disconnects all clients from all backends AND all internal services from all external partners.
Connectivity at this node = 1. Anything that disrupts this node (process crash, network glitch, OOM kill) disconnects every dependent path.
After the Split: Cut Vertex Replaced by Two Lighter Nodes
Splitting into ingress + egress creates two graph nodes where there was one. Each node now sits on only one bipartite half:
- Ingress node: cut vertex for the external-clients-to-internal-services bipartite half
- Egress node: cut vertex for the internal-services-to-partners bipartite half
The hairpin loop disappears geometrically: in the single-box graph, an internal service trying to reach an external-facing service via the public address required traversing the same vertex twice (out via the egress role, then in via the ingress role). In the split graph, the traversal hits two different vertices.
Connectivity per side stays at 1, but the two cut vertices can be replaced independently. Adding a second ingress proxy raises ingress-side connectivity to 2 without changing the egress side.
Replication Per Side
Production fleets often run 2+ ingress proxies (HA) AND 2+ egress proxies (HA). Each side reaches connectivity 2 independently. Capacity scales horizontally on each side as needed.
Network Partition Tolerance
Synthesis
네트워크 아키텍처를 이중 그래프로 읽을 수 있으며, 절단 정점을 식별하고, 반씩 연결성을 추적할 수 있습니다.
이것을 네트워크 분할에 적용하세요.
네트워크 분할은 그래프 컷입니다: 분할을 가로지르는 에지들이 실패합니다; 양쪽 모두 서로를 달성할 수 없는 상태로 계속 작동합니다.
지리적으로 분포된 시스템은 두 데이터 센터가 단일 inter-DC 링크로 연결되어 있습니다. 인그레스 트래픽은 DC1을 통해 입력되며, 이그레스는 DC1을 통해 외부 파트너에게 전송되고 일부 내부 서비스는 DC2에 있으며 DC1으로 상태ful 작업을 호출합니다.
Companion Notes
동료 노트
이 지오메트리-lesson은 Ingress & Egress Separation 주 lesson을 이중 그래프 분석으로 재해석합니다.
다음 동료, geometry_of_failure_modes_and_blast_radius,는 사이니시티 중심성(박막 노드 식별)을 계산하고 최소 컷(blast radius 제한)을 도출합니다.
잘 했어요.