Arquitectura de microservicio de desarrollo multiplataforma .net core basada en el equilibrio de carga del clúster del servicio de proxy inverso Nginx

  1. Descripción general
  El proxy inverso (proxy inverso) significa que el servidor proxy se utiliza para aceptar la solicitud de conexión en Internet, y luego reenviar la solicitud al servidor en la red interna, y devolver el resultado obtenido del servidor a Internet para solicitar la conexión Cliente, el servidor proxy aparece como un servidor externo.

  La agrupación de servidores se refiere a reunir muchos servidores para realizar el mismo servicio, y al cliente le parece que solo hay un servidor. El clúster puede usar varias computadoras para realizar cálculos paralelos para obtener una alta velocidad de cálculo, y también puede usar varias computadoras para realizar copias de seguridad, de modo que cualquier máquina se dañe y todo el sistema pueda funcionar normalmente.

  Equilibrio de carga, el nombre en inglés es Equilibrio de carga, lo que significa que la carga (tarea de trabajo) está equilibrada y distribuida a múltiples unidades operativas para ejecutar, como el servidor FTP, el servidor web, el servidor de aplicaciones empresariales y otros servidores de tareas principales, etc. Para completar la tarea de trabajo en colaboración. El equilibrio de carga se basa en la estructura de red original, que proporciona un método transparente, económico y efectivo para expandir el ancho de banda de servidores y dispositivos de red, fortalecer las capacidades de procesamiento de datos de red, aumentar el rendimiento y aumentar la disponibilidad y flexibilidad de la red.

  Nginx es un servidor web ligero / servidor proxy inverso y servidor proxy de correo electrónico (IMAP / POP3), lanzado bajo el protocolo similar a BSD. Nginx fue desarrollado por Igor Sesoyev para el segundo sitio más visitado de Rambler.ru (ruso: Рамблер) en Rusia. La primera versión pública 0.1.0 fue lanzada el 4 de octubre de 2004.

  A continuación, crearé el servicio .net core weapi, luego usaré el mismo código fuente del programa de servicio, configuraré e iniciaré el programa de servicio de tres puertos diferentes 5177, 5178, 5179 como un clúster de servicio, luego descargaré e instalaré el programa Nginx, clúster de servicio de proxy inverso, a través de Acceda al servidor Nginx y salte al clúster de servicio que consta de tres programas de servicio.

  2. Crear microservicio webapi de .net core. Uso el
  entorno de desarrollo Visual Studio 2019 .net core 3.1.
  2.1. Crear un proyecto de servicio .net core webapi

  

  2.2, cree el controlador api predeterminado

  

  2.3. Agregue el método Get para devolver la información de configuración.

utilizando el sistema;
usando System.Collections.Generic;
usando System.Linq;
usando System.Threading.Tasks;
usando Microsoft.AspNetCore.Http;
utilizando Microsoft.AspNetCore.Mvc;
usando Microsoft.Extensions.Configuration;
usando Microsoft.Extensions.Logging; 

espacio de nombres WebApp.Controllers 
{ 
    [Route ( " api / [controller] " )] 
    [ApiController] 
    public  class DefaultController: ControllerBase 
    { 
        private  readonly ILogger <DefaultController>_logger;
        configuración privada de  solo lectura _configuración; 

        público defaultController (ILogger <defaultController> logger 
            , IConfiguration config) 
        { 
            este ._logger = registrador; 

            this ._configuration = config; 
        } 
        [HttpGet ()] 
        public OkObjectResult Get () 
        { 
            var result = new 
            { 
                id = this ._configuration [ " ip " ], 
                port = this._configuration [ " puerto " ], 
                ahora = DateTime.Now 
            }; 
            devuelva  esto. Ok (resultado); 
        } 
    } 
}

 

  2.4 Utilice el comando de consola para iniciar, el mismo código fuente del programa de servicio, configure 5177, 5178, 5179 tres puertos diferentes para formar tres grupos de aplicaciones de servicio.
  dotnet webapp.dll --urls = "http: // *: 5177" --ip = "127.0.0.1" --port = 5177
  dotnet webapp.dll --urls = "http: // *: 5178" - ip = "127.0.0.1" --port = 5178
  dotnet webapp.dll --urls = "http: // *: 5179" --ip = "127.0.0.1" --port = 5179


  3. Descargue, instale y configure Nginx.   No uso Linux o máquinas virtuales aquí. Solo instalo y configuro
en Windows. Dirección de descarga: http://nginx.org/en/download.html. Después de descargar y descomprimir, configure el servidor Nginx para escuchar el servidor local, puerto 8080.

 

 

  Inicie el programa del servidor Nginx: inicie nginx.exe, después del inicio normal, podemos visitar la página de inicio de bienvenida de Nginx en el navegador:

  Una vez que el servidor Nginx es normal, desarrollamos y configuramos tres programas de servicio del agente de reflexión Nginx 5177, 5178, 5179. Cuando visitemos http: // localhost: 8080, el programa saltará al programa de servicio 5177 o 5178 o 5179.


  Hasta ahora, es así de simple, hemos implementado .net core basado en el proxy inverso Nginx, el equilibrio de carga del clúster de servicios. Si hay algo mal, corrígeme.

 

Supongo que te gusta

Origin www.cnblogs.com/henxiao25/p/12686624.html
Recomendado
Clasificación