Entrante y Saliente como Conjuntos Distintos
Gráficos Bipartitos en la Arquitectura de Redes
Un gráfico bipartito divide los nodos en dos conjuntos, con aristas permitidas solo entre conjuntos (nunca dentro de un conjunto).
Los límites de redes tienen una estructura bipartita natural:
- Lado de ingreso: clientes externos en un lado, servicios internos en el otro. Aristas: solicitudes externas entrando, respuestas internas saliendo.
- Lado de egreso: servicios internos en un lado, destinos externos en el otro. Aristas: servicios internos iniciando llamadas de salida, respuestas externas regresando.
La asimetría:
- Ingreso: el conjunto de origen es ilimitado (cualquiera en la internet). El conjunto de destino es pequeño (un par de servicios). El volumen escala con los usuarios.
- Egreso: el conjunto de origen es pequeño (un par de servicios internos). El conjunto de destino es limitado (un par de socios conocidos). El volumen escala con la actividad interna.
Diseño de una sola caja colapsa ambas mitades bipartitas a través de un nodo. Ese nodo tiene fan-in desde el exterior (ingreso) Y fan-in desde el interior (en la dirección inversa del egreso). La carga del nodo = la suma de ambos lados.
Diseño dividido mantiene ambas mitades bipartitas en nodos separados. Cada nodo maneja un rol con su eje de escalado apropiado.
Antes del División: Un Vértice de Corte en Todas Partes
Caixa Única: Tódolos Rollos na mesma Caixa
Antes da división, unha caixa de proxy única está entre cada par externo/interno. En termos de gráficos é unha vértice de corte de alto orden: a súa eliminación descoñece a todos os clientes de todos os backends e todos os servizos internos de todos os socios externos.
Conectividade neste nodo = 1. Calquera cousa que interrompa este nodo (crase de proceso, tráfico de rede, OOM kill) descoñece a cada camiño dependente.
Despois da División: Vértice de Corte Sucedido por Dous Nodos Menores
Dividir en entrada + saída crea dous nós de gráfico onde había un. Cada nodo agora está só nunha metade bipartita:
- Nodo de entrada: vértice de corte para a metade bipartita de clientes-externos-a-servizos-internos
- Nodo de saída: vértice de corte para a metade bipartita de servizos-internos-a-socios
O bucle de retorno desaparece xeométricamente: nun gráfico de caixa única, un servizo interna tentando chegar a un servizo de fronte público a través da dirección pública requiría atravesar o mesmo vértice dúas veces (saiu polo papel de saída, despois entraba polo papel de entrada). No gráfico dividido, o traxecto golpea dous vértices diferentes.
A conectividade por lado permanece en 1, pero os dous vértices de corte pódense substituír independentemente. Engadir un segundo proxy de entrada eleva a conectividade do lado de entrada a 2 sen cambiar o lado de saída.
Replicación por Lado
Frota de produción adoita correr 2+ proxies de entrada (HA) E 2+ proxies de saída (HA). Cada lado atinxe a conectividade 2 independentemente. A capacidade escala horizontalmente en cada lado conforme se require.
Tolerancia a Particións de Rede
Síntese
Ahora puedes leer las arquitecturas de red como grafos bipartitos, identificar vértices de corte y seguir la conectividad por mitades.
Aplica esto a las particiones de red.
Una partición de red es un corte de grafos: los bordes que cruzan la partición fallan; ambos lados siguen funcionando pero no pueden alcanzarse el uno al otro.
Un sistema distribuido geográficamente tiene dos centros de datos conectados por un enlace inter-DC. El tráfico de ingreso entra a través de DC1; el tráfico de egreso pasa a través de DC1 a socios externos; algunos servicios internos viven en DC2 y llaman de nuevo a DC1 para operaciones estatales.
Notas Complementarias
Notas Complementarias
Esta geometría-de-lesson reinterpret the Separación de Ingreso y Egreso lesson principal como un análisis de grafos bipartitos.
La próxima compañera, geometry_of_failure_modes_and_blast_radius, deriva la centralidad de entremedio (identifica nodos botella) y el corte mínimo (limita el radio de explosión).
Bien hecho.