DNS resuelve para 2 IP con la misma referencia

DNS resuelve para 2 IP con la misma referencia

Tenemos las siguientes situaciones: en un servidor, tenemos que configurar 2 IP que estarán referidas al mismo fqdn. en la aplicación que se ejecuta en el servidor, estamos configurando el FQDN. Una vez que haya un problema con el acceso a una IP (basada en el FQDN), el servidor utilizará la segunda IP asignada al mismo FQDN:

ejemplo: /etc/hostscontendrá

1.1.1.1 server1.google.com
1.1.2.1 server1.google.com

Una vez que haya un problema para acceder a 1.1.1.1, el servidor utilizará server1.google.com como 1.1.2.1.

¿Podemos usar tal cosa? ¿Hay alguna otra opción?

Respuesta1

/etc/hosts no realizará una operación por turnos. Simplemente devuelve la primera coincidencia que encuentra.

Si desea una resolución por turnos, necesitará un servidor DNS completo para hacerlo.

Además, el DNS por turnos no es una buena herramienta para equilibrar la carga, que es lo que desea. Por muy conveniente que parezca, la resolución de nombres no es la capa adecuada para hacer lo que estás intentando hacer.

Respuesta2

Si no quiere o no puede cambiar su aplicación, tendrá que colocar una capa de equilibrio de carga en algún lugar entre el servidor que ejecuta la aplicación y los dos servidores que desea conectar. Esto permitirá:

  • siga usando el mismo nombre DNS e incluso la misma dirección IP (el equilibrador de carga creará una IP virtual)
  • ser dirigido a todos los servidores por turno
  • Evite conectarse a cualquier servidor que desaparecería en caso de problema.
  • permitir que la sesión de autenticación se mantenga con el mismo destino, si es necesario

Para soluciones de equilibrio de carga, puede consultar elProyecto LVS de Linux.

También puede cambiar su aplicación, si es compatible, para proporcionar ambas IP en cualquier cadena de conexión. Se utilizará la primera IP y si no responde, se utilizará la segunda. Pero esto depende mucho del lenguaje utilizado para crear la aplicación. Por ejemplo, esto es posible con el conector de base de datos Java.

información relacionada