Plattformübergreifende Microservice-Architektur für die plattformübergreifende Entwicklung von .net basierend auf dem Lastausgleich für Nginx-Reverse-Proxy-Service-Cluster

  1. Übersicht
  Reverse Proxy (Reverse Proxy) bedeutet, dass der Proxyserver verwendet wird, um die Verbindungsanforderung im Internet zu akzeptieren, die Anforderung dann an den Server im internen Netzwerk weiterzuleiten und das vom Server erhaltene Ergebnis an das Internet zurückzugeben, um die Verbindung anzufordern Client, der Proxyserver wird extern als Server angezeigt.

  Server-Clustering bezieht sich auf das Zusammenführen vieler Server, um denselben Dienst auszuführen, und es scheint dem Client, dass es nur einen Server gibt. Der Cluster kann mehrere Computer verwenden, um parallele Berechnungen durchzuführen, um eine hohe Berechnungsgeschwindigkeit zu erzielen, und er kann auch mehrere Computer für die Sicherung verwenden, sodass jeder Computer defekt ist und das gesamte System weiterhin normal funktioniert.

  Lastenausgleich, der englische Name lautet Lastenausgleich. Dies bedeutet, dass die Last (Arbeitsaufgabe) ausgeglichen und zur Ausführung auf mehrere Betriebseinheiten verteilt wird, z. B. FTP-Server, Webserver, Enterprise Core-Anwendungsserver und andere wichtige Task-Server usw. Um die Arbeitsaufgabe gemeinsam zu erledigen. Der Lastausgleich basiert auf der ursprünglichen Netzwerkstruktur, die eine transparente, kostengünstige und effektive Methode zur Erweiterung der Bandbreite von Servern und Netzwerkgeräten, zur Stärkung der Netzwerkdatenverarbeitungsfunktionen, zur Erhöhung des Durchsatzes sowie zur Erhöhung der Netzwerkverfügbarkeit und -flexibilität bietet.

  Nginx ist ein leichter Webserver / Reverse-Proxy-Server und E-Mail-Proxy-Server (IMAP / POP3), der unter dem BSD-ähnlichen Protokoll veröffentlicht wurde. Nginx wurde von Igor Sesoyev für die am zweithäufigsten besuchte Rambler.ru-Site (russisch: Рамблер) in Russland entwickelt. Die erste öffentliche Version 0.1.0 wurde am 4. Oktober 2004 veröffentlicht.

  Im Folgenden werde ich den .net-Kernwaffendienst erstellen, dann denselben Quellcode des Dienstprogramms verwenden, das Dienstprogramm von drei verschiedenen Ports 5177, 5178, 5179 als Dienstcluster konfigurieren und starten, dann das Nginx-Programm herunterladen und installieren, Reverse-Proxy-Dienstcluster, durch Greifen Sie auf den Nginx-Server zu und springen Sie zum Service-Cluster, der aus drei Service-Programmen besteht.

  2. Erstellen eines .net Core Webapi-Mikroservices
  Ich verwende die Visual Studio 2019 .net Core 3.1-Entwicklungsumgebung.
  2.1 Erstellen Sie ein .net-Kern-Webapi-Serviceprojekt

  

  2.2 Erstellen Sie den Standard-API-Controller

  

  2.3. Fügen Sie die Get-Methode hinzu, um Konfigurationsinformationen zurückzugeben.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging; 

Namespace WebApp.Controllers 
{ 
    [Route ( " api / [controller] " )] 
    [ApiController] 
    öffentliche  Klasse DefaultController: ControllerBase 
    { 
        privater  schreibgeschützter ILogger <DefaultController>_logger;
        private  schreibgeschützte IConfiguration _configuration; 

        public default (ILogger <default> Logger 
            , IConfiguration config) 
        { 
            diese ._logger = Logger; 

            diese ._configuration = config; 
        } 
        [HttpGet ()] 
        public OkObjectResult Get () 
        { 
            var result = new 
            { 
                id = this ._configuration [ " ip " ], 
                port = this._configuration [ " port " ], 
                now = DateTime.Now 
            }; 
            return  this .Ok (Ergebnis); 
        } 
    } 
}

 

  2.4 Starten Sie mit dem Konsolenbefehl denselben Quellcode des Dienstprogramms und konfigurieren Sie 5177, 5178, 5179 drei verschiedene Ports, um drei Dienstanwendungscluster zu bilden.
  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. Laden Sie Nginx herunter, installieren Sie es und konfigurieren Sie es.   Ich verwende hier weder Linux noch virtuelle Maschinen. Ich installiere und konfiguriere es nur
unter Windows. Download-Adresse: http://nginx.org/en/download.html Konfigurieren Sie den Nginx-Server nach dem Herunterladen und Dekomprimieren so, dass er den lokalen Server, Port 8080, überwacht.

 

 

  Starten Sie das Nginx-Serverprogramm: Starten Sie nginx.exe. Nach dem normalen Start können Sie die Nginx-Begrüßungshomepage im Browser besuchen:

  Nachdem der Nginx-Server normal ist, entwickeln und konfigurieren wir drei Nginx Reflection Agent 5177, 5178, 5179 drei Serviceprogramme. Wenn wir http: // localhost: 8080 besuchen, springt das Programm zum 5177- oder 5178- oder 5179-Serviceprogramm.


  Bisher ist es so einfach, dass wir einen .net-Kern implementiert haben, der auf dem Nginx-Reverse-Proxy und dem Lastausgleich von Service-Clustern basiert. Wenn etwas nicht stimmt, korrigieren Sie mich bitte.

 

Ich denke du magst

Origin www.cnblogs.com/henxiao25/p/12686624.html
Empfohlen
Rangfolge