Tenemos una solución web que vendemos y viene con 1 VM Azure dedicada que contiene todo lo necesario para ejecutar la aplicación:
- Aplicación web ASP.NET
- Entorno de producción
- Entorno de control de calidad
- Servidor SQL que contiene datos para el entorno PROD y QA
Sin embargo, un cliente específico tiene el requisito de ejecutar su aplicación en una configuración de alta disponibilidad. Lo que quiere es que cuando un servidor caiga, el otro se haga cargo y viceversa.
Soy completamente nuevo en configuraciones de equilibrio de carga/alta disponibilidad y sé que Azure admite el equilibrio de carga, pero no sé cómo podría hacerlo funcionar. ¿Es tan fácil crear simplemente 2 servidores con la configuración anterior y luego configurar la funcionalidad de alta disponibilidad? Mi preocupación es ¿cómo podría sincronizar los datos del sitio web y los datos de SQL Server entre los 2 servidores? Especialmente este último.
¿O sería más fácil si usara el servidor SQL de Azure en lugar de un servidor SQL local? ¿O quizás introducir servidores adicionales en lugar de 2?
Respuesta1
En primer lugar, se recomienda utilizar Azure SQL; configurar un servidor SQL usted mismo no es seguro ni "estándar". Azure SQL le proporciona muchas funciones avanzadas, incluida la alta disponibilidad y la recuperación ante desastres. Utilice Azure SQL y configure el grupo de conmutación por error según lasdoc. Ahora, su capa de datos está habilitada para alta disponibilidad.
En segundo lugar, supongamos que ha migrado su base de datos a Azure SQL y cree una nueva máquina virtual en la misma red virtual de su máquina virtual actual. Y ejecutando la misma aplicación en una nueva VM. Cree un equilibrador de carga y agregue estas dos máquinas virtuales al grupo de backend. Ahora su capa de aplicación está habilitada para alta disponibilidad.
Respuesta2
Puede configurar StarWind VSAN en solo dos máquinas virtuales y obtener una solución de almacenamiento real de alta disponibilidad en la nube. Yo creoeste manualDebería serte útil, compruébalo.
Respuesta3
Puede crear fácilmente un conjunto de alta disponibilidad con los mismos servidores y luego configurar este conjunto de alta disponibilidad como un grupo de backend en LB. Se recomienda utilizar la base de datos SQL de Azure, ya que Azure tiene muchas características de plataforma integradas que admiten aplicaciones de alta disponibilidad. Sin embargo, es fácil usar el servidor SQL local en la misma máquina virtual de Azure y puede obtener una respuesta rápida desde el host de la aplicación y la base de datos en la misma máquina virtual de Azure.
Para Azure SQL Database, los datos se replican de forma sincrónica dentro de la región. Además, para lograr alta disponibilidad con máquinas virtuales, debe utilizar conjuntos de disponibilidad, que cumplen una función similar para fallar y actualizar dominios.
Consulte estodoc.