English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invitado
1 / ?

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.

Ingreso y egreso bipartito: conjuntos de nodos separados, vértices de corte separados

Dibuje el gráfico bipartito para una pequeña SaaS: 5 puntos finales de clientes externos (enviando solicitudes de entrada), 3 servicios internos (los backends) y 4 APIs de socios externos (llamadas de salida). Identifique qué aristas pertenecen a la mitad bipartita de ingreso y cuáles pertenecen a la mitad bipartita de egreso. Prediga qué sucede con la conectividad del gráfico si uno de los servicios internos falla.

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.

Una equipe corre actualmente unha caixa de proxy (unha vértice de corte para ambas as direccións). Divídenla en unha entrada + unha saída, despois engaden unha segunda entrada (pare de fallo) pero mantéñense unha saída. Desprázase como cambia a conectividade do grafo en cada paso e identifícase a metade bipartita que segue a ser 1-conectada despois do paso 3 (o que é, por tanto, o modo de fallo de tolerancia máis baixa).

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.

Prediga o que ocorre se fallo a ligazón entre DC: (1) que metades bipartitas permanecen conectadas dentro de cada DC, (2) que tráfico flúe continua e que para, e (3) propón un cambio arquitectónico que permitiría que o sistema tolerase esta partición con degradación limitada en lugar de unha interrupción total.

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.