¿Es posible realizar una conmutación por error durante un solo ciclo de solicitud-respuesta HTTP sin volver a intentarlo? ¿Puede una máquina recibir una solicitud http y otra responder?

Sí, pero solo con un conmutador de equilibrio de carga de Capa 7 ubicado sobre un grupo adecuado de servidores.

Un conmutador de equilibrio de carga de capa 7 (Foundry Load Balancing | Hostway) almacenará una consulta en el búfer. Cuando decida a qué servidor enviar la consulta (generalmente por una métrica de menor carga), enviará una copia de la consulta a ese servidor. Si ese servidor no responde, el conmutador de equilibrio de carga de la Capa 7 marcará ese servidor como que no responde (por sí mismo) y escalará al sistema de administración de red para arreglar el servidor (posiblemente llamando a un humano). Luego enviará una copia de esa consulta a otro servidor y repetirá las acciones como se describe en este documento, tantas veces como sea necesario hasta que se cumpla.

Una cosa de la que puede no estar al tanto es la existencia de una Imagen de sistema único (SSI) en un clúster. Cada servidor en un clúster es un duplicado EXACTO el uno del otro. Además, todos comparten el mismo almacén de datos (SSD o HDD, no RAM). Entonces, en cualquier picosegundo, una consulta enviada a un servidor en el clúster DEBE devolver los mismos resultados EXACTOS que cualquier otro servidor en el clúster. Esto es física, no conjeturas.

FYI – “failover” es un concepto crudo de bajo nivel. Se vuelve trivial una vez que se introduce un equilibrador de carga robusto, como en todos los clústeres. Usaría el término “equilibrio” en lugar de “conmutación por error”.

Además, se recomienda un equilibrador de carga basado en hardware (ASIC) porque no se puede piratear.

Desafortunadamente para mí, inventé esto, pero nunca obtuve crédito.

Esto se llama una “práctica comercial” y no es patentable.

Abucheo. Solo abucheo.

Al generar un UuId de la solicitud, una identificación de correlación, desde una puerta de enlace API, hace que la solicitud http sea recuperable (la idempotentcy es implementable) y, por lo tanto, la puerta de enlace Api o cualquier equilibrador o proxy a continuación pueden volver a intentarlo.

Se puede hacer Rev Engineering TCP pero es arriesgado ya que las garantías del establecimiento de la conexión y el ciclo de vida sincronizado están en peligro. Seguir usando antcasts solo para alcanzar un punto final puede estar bien.