Heim > Backend-Entwicklung > PHP-Tutorial > Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

WBOY
Freigeben: 2016-07-30 13:29:58
Original
1298 Leute haben es durchsucht

1. Überblick

Natürlich kann die Einführung der vorherigen acht Artikel nicht alle Technologien der Lastausgleichsschicht abdecken, kann aber als Einführung verwendet werden, um den Lesern einen Weg zum Lernen zu zeigen und Last nutzen. Obwohl wir uns später der Einführung der „Business-Schicht“ und der „Geschäftskommunikation“-Schicht zuwenden, wird die Einführung der Lastausgleichsschicht nicht aufhören. In der Folgezeit werden wir die Veröffentlichung neuer Artikel zur Lastausgleichsschicht einstreuen, darunter eine Wiedereinführung der Nginx-Technologie, neue Nutzungsszenarien von HaProxy, LVS usw.

In diesem Artikel fassen wir die bisherigen Wissenspunkte zusammen und erweitern sie bewusst, damit Leser neue Lernideen finden können.

2. Die Kernidee der Lastausgleichsschicht

Konsistentes Hashing und Schlüsselauswahl

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

In " „Architektur“ Design: Lastausgleichsschicht-Designplan (2) – Nginx-Installation“ In diesem Artikel stellen wir den konsistenten Hashing-Algorithmus im Detail vor. Es wurde auch betont, dass der konsistente Hash-Algorithmus einer der kritischsten Algorithmen in der modernen Systemarchitektur ist und in vielen Bereichen wie verteilten Computersystemen, verteilten Speichersystemen und Datenanalyse weit verbreitet ist. Für meinen Blog-Beitrag ist es in der Lastausgleichsschicht, der Geschäftskommunikationsschicht und der Datenspeicherschicht zu finden.

Der Kern des Konsensalgorithmus ist:

  • Verwenden Sie ein bestimmtes Attribut des Objekts (dieses Attribut kann die IP-Adresse des Servers, ein offener Port, ein Benutzername, eine Art verschlüsselte Zeichenfolge. Jedes erdenkliche Attribut hat Hashing-Bedeutung), berechnen Sie eine Ganzzahl, sodass sie im Bereich von 0 bis 2 hoch 32 verteilt ist.
  • Natürlich können auch ein oder mehrere Attribute eines Servers gehasht werden und anhand der Berechnung an einem bestimmten Punkt auf dem Ring verteilt werden, der im Bild der blaue Punkt auf dem Ring ist.
  • Wenn eine Verarbeitungsanforderung eingeht, wird eine Hash-Berechnung basierend auf einem oder mehreren Attributen der Anforderung durchgeführt und Fehler werden basierend auf der Berechnung an einem bestimmten Punkt im Ring verteilt. Das ist der gelbe Punkt auf dem Kreis im Bild oben.
  • Wir stimmen zu, dass Anfragen, die durch gelbe Punkte links von einem bestimmten blauen Punkt A und rechts von blauem Punkt B dargestellt werden, von dem durch blauen Punkt A dargestellten Server verarbeitet werden. Damit ist die Lösung für „Wer“ abgeschlossen sich mit dem Problem auseinandersetzen. Unter der Voraussetzung, dass der blaue Punkt stabil existiert, fallen alle Anfragen von derselben Hash-Konvention an dieselbe Position, was die Stabilität der Dienstverarbeitungszuordnung gewährleistet.
  • Wenn ein blauer Punkt aus irgendeinem Grund offline geht, ist auch die Anzahl der betroffenen gelben Punkte begrenzt. Das heißt, die nächste Client-Anfrage wird von dem Server verarbeitet, der durch andere blaue Punkte dargestellt wird.

2-2. Abfrage und Gewichtung

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

  • Ungewichtete Abfrage ist der Hauptknoten (Aufgabenquelle Punkt) Ohne Berücksichtigung Alle Faktoren des Zielknotens (z. B. CPU-Leistung, Festplattenleistung, Netzwerkleistung) werden der Reihe nach entsprechend der Listenreihenfolge des Zielknotens zugewiesen. Dies ist die einfachste Abfrage und diejenige, die den geringsten Implementierungsaufwand auf dem Masterknoten erfordert. In meinen vorherigen Blogbeiträgen „Architecture Design: Load Balancing Layer Design Plan (2) – Nginx-Installation“ und „Architecture Design: Load Balancing Layer Design Plan (4) – LVS-Prinzip“ wurde diese einfachste Abfrage vorgestellt: Zum Beispiel das „rr“ Parameter in LVS.

  • Das „Recht“ in der gewichteten Umfrage kann als Grundlage für „Umfrage“ angesehen werden. „Gewicht“ kann viele Möglichkeiten haben, es kann der Leistungsquantifizierungswert des Zielcomputers sein, es kann eine feste Zahl sein (gewichtet entsprechend der festen Zahl) oder es kann die Netzwerkgeschwindigkeit des Zielknotens sein. Beispielsweise wird der Parameter „lc“ in LVS entsprechend der Anzahl der vorhandenen „Verbindungen“ auf der Zielmaschine gewichtet: Je weniger Verbindungen vorhanden sind, desto größer ist die Chance, die Verarbeitungsrechte für diese Aufgabe zu erhalten.

2-3. Mietvertrag und Gesundheitsprüfung

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Der Mietvertrag dient hauptsächlich dazu, sicherzustellen, dass, wenn der Server die überprüft Client Wenn die „letzte Zeit“ fehlschlägt, meldet der Server definitiv die Anmeldeinformationen des Clients ab, und auch die Verbindungsinformationen des Servers auf dem Client verschwinden (und stellen keine Dienste mehr bereit). Bei jeder erfolgreichen Prüfung wird dieser „letzte Zeitpunkt“ nach hinten verschoben.

Der Mietvertrag ist derselbe wie der von uns erwähnte Hash-Algorithmus. Er ist auch die grundlegendste Designidee im Systemarchitekturdesign und wird häufig in verschiedenen Arten von Systemen verwendet. Sein Funktionsprinzip ist für jeden Architekten wichtig. Alles muss gemeistert werden. Beispiel: Zookeeper verwendet dieses Protokoll, um sicherzustellen, dass die Verbindung zwischen dem Flow-Knoten und dem Leader-Knoten normal ist. Das verteilte Speichersystem verwendet dieses Protokoll, um sicherzustellen, dass die Verbindung zwischen dem Datenknoten und dem Namensknoten normal ist 3. Zusammenfassung der Load-Balancing-Layer-Technologie

Im vorherigen Blog-Beitrag habe ich mich auf Nginx-, LVS- und Keepalived-Technologien konzentriert. Aufgrund der begrenzten Zeit werden wir hier einige im Blogbeitrag erwähnte Technologien zusammenfassen und dann auf die DNS-Technologie, die CDN-Technologie und die Hardware-Load-Technologie eingehen.

3-1, Nginx-Technologie

在负载均衡层这个大的章节中,我有三篇文章都在直接介绍Nginx的原理和使用。但是之后有朋友给我反映还想了解更多的Nginx知识,特别点名要求我再做一篇文章介绍Nginx的动态缓存。是的,我在后面的时间里是有计划介绍Nginx的动态缓存技术,还会介绍Nginx和多款主流的反向代理软件的性能对比。但这需要时间,特别是我不想去网上找一些已有的性能对比图,还是自己一边做这样的性能测试,一边做性能报告比较靠谱。

下面这些技术是我在博文中已经重点介绍过得,我们再做一下总结:

  • Nginx中的连接数限制问题

重要的配置项包括:worker_processes、worker_connections。但是光是配置这些属性是不够的,最关键的是我们要打开操作系统级别的“最大文件数”限制问题。使用“ulimit -n 65535”设置本次会话的“最大文件数”限制;还要使用“vim /etc/security/limits.conf”命令,修改内核的配置信息。主要是以下两项:

<code><span>* </span>soft nofile 65535 
<span>* </span>hard nofile 65535</code>
Nach dem Login kopieren

另外,还要注意和nginx配置项中的“worker_rlimit_nofile”属性共同使用:

<code>user root root; 
worker_processes <span>4</span>; 
worker_rlimit_nofile <span>65535</span>;

<span>#error_log logs/error.log; </span><span>#error_log logs/error.log notice; </span><span>#error_log logs/error.log info;</span><span>#pid logs/nginx.pid; </span>
events { 
    use epoll; 
    worker_connections <span>65535</span>; 
}</code>
Nach dem Login kopieren
  • Nginx中的Gzip技术

gzip是Nginx进行HTTP Body数据压缩的技术。下面这段Nginx配置信息是启用gzip压缩的实例:

<code><span>#开启gzip压缩服务, </span>
gzip <span><span>on</span></span>;

<span>#gzip压缩是要申请临时内存空间的,假设前提是压缩后大小是小于等于压缩前的。例如,如果原始文件大小为10K,那么它超过了8K,所以分配的内存是8 * 2 = 16K;再例如,原始文件大小为18K,很明显16K也是不够的,那么按照 8 * 2 * 2 = 32K的大小申请内存。如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。 </span>
gzip_buffers <span>2</span><span>8</span>k;

<span>#进行压缩的原始文件的最小大小值,也就是说如果原始文件小于5K,那么就不会进行压缩了 </span>
gzip_min_length <span>5</span>K;

<span>#gzip压缩基于的http协议版本,默认就是HTTP 1.1 </span>
gzip_http_version <span>1.1</span>;

<span># gzip压缩级别1-9,级别越高压缩率越大,压缩时间也就越长CPU越高 </span>
gzip_comp_level <span>5</span>;

<span>#需要进行gzip压缩的Content-Type的Header的类型。建议js、text、css、xml、json都要进行压缩;图片就没必要了,gif、jpge文件已经压缩得很好了,就算再压,效果也不好,而且还耗费cpu。 </span>
gzip_types <span>text</span>/HTML <span>text</span>/plain <span>application</span>/x-javascript <span>text</span>/css <span>application</span>/xml;</code>
Nach dem Login kopieren

http返回数据进行压缩的功能在很多场景下都实用:

a、 如果浏览器使用的是3G/4G网络,那么流量对于用户来说就是money。

b、 压缩可节约服务器机房的对外带宽,为更多用户服务。按照目前的市场价良好的机房带宽资源的一般在200RMB/Mbps,而服务器方案的压力往往也来自于机房带宽。

c、 不是Nginx开启了gzip功能,HTTP响应的数据就一定会被压缩,除了满足Nginx设置的“需要压缩的http格式”以外,客户端(浏览器)也需要支持gzip(不然它怎么解压呢),一个好消息是,目前大多数浏览器和API都支持http压缩。

  • Nginx中的rewrite(重写)技术

Nginx的强大在于其对URL请求的重写(重定位)。Nginx的rewrite功能依赖于PCRE Lib,请一定在Nginx编译安装时,安装Pcre lib。

Nginx的rewrite功能在我《架构设计:负载均衡层设计方案(3)——Nginx进阶》 这边博客中进行了讲解。

下面是一段rewrite的示例:

<code><span>#示例1:</span>
location ~* ^<span>/(.+)/</span>(.+)\.(jpg|gif|png|jpeg)<span>$ </span>{
    rewrite ^<span>/orderinfo/</span>(.+)\.(jpg|gif|png|jpeg)<span>$ </span>  /img/<span>$1</span>.<span>$2</span><span>break</span>;
    root   /cephclient;
}

<span>#location在不进行大小写区分的情况下利用正则表达式对$url进行匹配。当匹配成功后进行rewrite重定位。</span><span>#rewrite进行重写url的规则是:regex表达式第一个括号中的内容对应$1,regex表达式第二个括号中的内容对应$2,以此类推。</span><span>#这样重定位的意义就很明确了:将任何目录下的文件名重定位到img目录下的对应文件名,</span><span>#并且马上在这个location中(注意是Nginx,而不是客户端)执行这个重写后的URL定位。</span><span>#示例2:</span>
server {
    。。。。
    。。。。
    location ~* ^<span>/orderinfo/</span>(.+)\.(jpg|gif|png|jpeg)<span>$ </span>{
        rewrite ^<span>/orderinfo/</span>(.+)\.(.+)<span>$ </span> /img/<span>$1</span>.<span>$2</span>   last;
    }

    location / {
        root   /cephclient;
    }
}

<span>#在server中,有两个location位置,当url需要访问orderinfo目录下的某一个图片时,rewrite将重写这个url,</span><span>#并且重新带入这个url到server执行,这样“location /”这个location就会执行了,并找到图片存储的目录。</span></code>
Nach dem Login kopieren
  • Nginx的图片处理模块

http_image_filter_module 是nginx的图片处理模块,是使用nginx进行静态资源和动态资源分开管理的关键引用技术。通过这个模块可以对静态资源进行缩放、旋转、验证。

需要注意的是,http_image_filter_module模块所处理的缩率图片是不进行保存的,完全使用节点的CPU性能进行计算,使用节点的内存进行临时存储。所以如果要使用http_image_filter_module进行图片处理,一定要根据客户端的请求规模进行nginx节点的调整。并且当站点的PV达到一定的规模时,一定要使用CDN技术进行访问加速、对图片的访问处理手段进行规划。

由于我们在之前涉及Nginx的文章中,并没有详细讲解Nginx的图片处理模块,只是说了要进行介绍,所以这里我给出一个较为详细的安装和配置示例:

nginx的http_image_filter_module模块由GD library进行支持,所以要使用这个图片处理模块,就必须进行第三方依赖包的安装:

<code>yum <span>install</span> gd-devel</code>
Nach dem Login kopieren

然后,Nginx要进行重新编译:

<code>configure <span>--</span><span>with</span><span>-http_image_filter_module</span>
make <span>&&</span> make install</code>
Nach dem Login kopieren

使用图片处理模块的配置示例:

<code>location ~* /(.+)_(\d+)_(\d+)\.(jpg|gif|png|ioc|jpeg)$ {
    <span>set</span><span>$h</span><span>$3</span>;
    <span>set</span><span>$w</span><span>$2</span>;
    rewrite /(.+)_(\d+)_(\d+)\.(jpg|gif|png|ioc|jpeg)$ /<span>$1</span>.<span>$4</span><span>break</span>;

    image_filter resize <span>$w</span><span>$h</span>;
    image_filter_buffer <span>2</span>M;
}</code>
Nach dem Login kopieren

其中关于正则表达式的语法和已经介绍过的rewrite的语法就不再进行介绍了,主要看http_image_filter_module相关的属性设置:

image_filter test:测试图片文件合法性
image_filter rotate:进行图片旋转,只能按照90 | 180 | 270进行旋转
image_filter size:返回图片的JSON数据
image_filter resize width height:按比例进行图片的等比例缩小,注意,是只能缩小,第二缩小是等比例的。
image_filter_buffer:限制图片最大读取大小,没有设置就是1M;根据不同的系统最好设置为2M—3M
image_filter_jpeg_quality:设置jpeg图片的压缩比例(1-99,越高越好)
image_filter_transparency:禁用gif和png图片的透明度。

  • 和Nginx类似的其他技术/软件

目前行业内也有很多与Nginx解决同类问题的软件,他们分别是Apache基金会的 Apache HTTP Server、淘宝开源的Tengine、Haproxy、包括Windows 下运行的IIS,也支持反向代理 。

这里笔者再次重点提到Tengine,建议各位读者有时间的时候可以使用一下,这个对Nginx进行了深度再开发的软件。

3-2、LVS技术

LVS ist die Abkürzung für Linux Virtual Server, was bedeutet, dass es sich um einen virtuellen Linux-Server handelt. Dieses Projekt wurde im Mai 1998 von Dr. Zhang Wensong ins Leben gerufen.

LVS-Cluster nutzt IP-Lastausgleichstechnologie und inhaltsbasierte Anforderungsverteilungstechnologie. Der Scheduler verfügt über eine sehr gute Durchsatzrate und überträgt Anforderungen gleichmäßig zur Ausführung an verschiedene Server. Der Scheduler schirmt Serverausfälle automatisch ab und bildet so eine Gruppe von Servern zu einem leistungsstarken, hochverfügbaren virtuellen Server. Die Struktur des gesamten Serverclusters ist für den Client transparent und es besteht keine Notwendigkeit, die Client- und Serverprogramme zu ändern.

In meiner Artikelserie „Architekturdesign: Lastausgleichsschicht-Designplan (4) – LVS-Prinzip“, „Architekturdesign: Lastausgleichsschicht-Designplan (5) – LVS-Einzelknoteninstallation“, „Load „Balancing Layer Design Plan (7) – LVS Keepalived Nginx Installation and Configuration“ umfasst alle die Erläuterung von LVS.

Hier fassen wir die drei Arbeitsmodi in LVS zusammen:

3-2-1, NAT-Modus

Der NAT-Modus ist eine Methode, bei der der LVS-Master-Dienstknoten das Datagramm empfängt wird dann an den unteren Real Server-Knoten weitergeleitet. Wenn der Real Server die Verarbeitung abschließt, wird es an den LVS-Master-Knoten zurückgesendet und dann vom LVS-Master-Knoten weitergeleitet. Das LVS-Verwaltungsprogramm IPVSADMIN ist für die Bindung von Weiterleitungsregeln und das vollständige Umschreiben von Attributen in IP-Datenpaketen und TCP-Datenpaketen verantwortlich.

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Die Vorteile des LVS-NAT-Modus sind:

  • Einfache Konfiguration und Verwaltung. Der Arbeitsmodus von LVS-NAT ist unter den drei Arbeitsmodi von LVS am einfachsten zu verstehen, am einfachsten zu konfigurieren und am einfachsten zu verwalten.

  • Sparen Sie externe Netzwerk-IP-Ressourcen. Im Allgemeinen ist die Anzahl der IPs, die Benutzern in einem Computerraum zugewiesen werden, begrenzt, insbesondere wenn die Anzahl der von Ihnen gekauften Racks nicht groß ist. LVS-NAT kapselt Ihre Systemarchitektur im LAN. LVS benötigt lediglich eine externe Netzwerkadresse oder eine externe Netzwerkadressenzuordnung, um Zugriff zu erhalten.

  • Die Systemarchitektur ist relativ geschlossen. In einer Intranet-Umgebung stellen wir keine hohen Anforderungen an die Firewall-Einstellungen und es ist relativ einfach, physische Server zu betreiben und zu warten. Sie können festlegen, dass Anfragen aus dem externen Netzwerk von der Firewall gefiltert werden, während Anfragen aus dem internen Netzwerk für den Zugriff freigegeben sind.

  • Darüber hinaus kümmert sich der Real Server nicht um die Authentizität der Datenpakete, die neu geschrieben und an den Real Server übertragen werden, solange die TCP- und IP-Verifizierung bestanden werden können. Der Real-Server-Willen kann verarbeitet werden. Daher kann der reale Server im LVS-NAT-Arbeitsmodus jedes Betriebssystem sein, sofern es das TCP/IP-Protokoll unterstützt.

3-2-2. DR-Modus

Der DR-Arbeitsmodus von LVS ist derzeit der am häufigsten verwendete Arbeitsmodus in der Produktionsumgebung, und es gibt auch den die meisten Informationen im Internet Ja, einige Artikel erklären den DR-Arbeitsmodus recht ausführlich:

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Die Vorteile des LVS-DR-Modus sind:

  • Löst das Problem des Weiterleitungsengpasses im LVS-NAT-Arbeitsmodus und kann größere Lastausgleichsszenarien unterstützen.

  • Es verbraucht externe IP-Ressourcen. Die externen IP-Ressourcen des Computerraums sind begrenzt. Wenn dieses Problem in der formalen Produktionsumgebung besteht, können LVS-NAT und LVS-DR verwendet werden . Mischen Sie es zur Linderung.

Natürlich weist LVS-DR auch Mängel auf:

  • Die Konfigurationsarbeit ist etwas aufwändiger als die von Ihnen benötigte LVS-NAT-Methode um den LVS-DR-Modus zumindest zu verstehen. Nur wenn Sie die grundlegenden Arbeitsmethoden anwenden, können Sie sich besser bei der Konfiguration des LVS-DR-Modus und der Lösung von Problemen während des Betriebs orientieren.

  • Aufgrund der Paketumschreibungsregeln des LVS-DR-Modus müssen sich der LVS-Knoten und der Real-Server-Knoten im selben Netzwerksegment befinden, da Layer-2-Switching keine Subnetze überqueren kann. Dieses Problem hat jedoch für die meisten Systemarchitekturlösungen tatsächlich keine wesentliche Grenze.

3-2-3, TUN-Modus

Die Arbeitsprinzipien des LVS-DR-Modus und des LVS-TUN-Modus sind völlig unterschiedlich und die Arbeitsszenarien sind völlig unterschiedlich . DR basiert auf dem Umschreiben von Datenpaketen und der TUN-Modus basiert auf IP-Tunneling. Letzteres ist eine Neukapselung von Datenpaketen:

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

IPIP-Tunnel. Kapseln Sie eine vollständige IP-Nachricht in den Datenteil einer anderen neuen IP-Nachricht und übertragen Sie sie über den Router an den angegebenen Standort. Bei diesem Vorgang kümmert sich der Router nicht um den Inhalt des gekapselten Originalprotokolls. Nach der Ankunft am Ziel ist das Ziel auf seine eigene Rechenleistung und die Unterstützung des IPIP-Tunnelprotokolls angewiesen, um das Kapselungsprotokoll zu öffnen und das Originalprotokoll zu erhalten:

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Es kann sein sagte, dass die LVS-TUN-Methode grundsätzlich die Vorteile von LVS-DR hat. Auf dieser Basis unterstützt es auch die subnetzübergreifende Durchdringung.

3-3. CDN-Technologie

CDN-Technologie Content Delivery Network: Netzwerk zur Verbreitung von Inhalten. Warum unser Zugriff auf Videoressourcen und Bildressourcen im Internet manchmal langsam ist oder sogar fehlschlägt. Ein wichtiger Grund ist, dass der physische Standort der Ressource zu weit vom Client entfernt ist und möglicherweise ein Layer-4-NAT-Gerät vorhanden ist (entspricht der Verwendung von Netcom-Leitungen für den Zugriff auf Ressourcen auf dem Telekommunikationsserver).

Stellen wir uns vor, dass die Ressourcen, auf die wir zugreifen möchten, auf einem Dienst platziert werden, der unserem Kunden am nächsten liegt (die Ressourcen, auf die der Kunde in Guangzhou beispielsweise zugreift, befinden sich im Computerraum in Guangzhou). Damit ist das Problem gelöst (dieser Punkt wird als „Kantenknoten“ bezeichnet). Dies ist das Problem, das das CDN-Netzwerk löst, wie in der folgenden Abbildung dargestellt:

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Derzeit erfordern CDN-Dienste keine Entwicklung. Es gibt viele Unternehmen auf dem Markt die einen kostenlosen/kostenpflichtigen CDN-Dienst anbieten (bitte direkt eingeben: CDN bei Google oder Baidu, es wird viele „Werbe“-Informationen geben, keine Werbung in meinem Blog ^_^). Wenn Sie selbst ein CDN-Netzwerk aufbauen möchten, können Sie auf die folgenden technischen Lösungen zurückgreifen:

Squid: Squid ist eine Software, die Internetdaten zwischenspeichert. Sie empfängt Download-Anfragen von Benutzern und verarbeitet diese automatisch heruntergeladene Daten. Gegenwärtig basieren die Netzwerke vieler inländischer CDN-Dienstanbieter auf Squid

Verwenden Sie zum Erstellen den Proxy_cache von Nginx: Die Rewrite-Technologie in Nginx kann tatsächlich das Umschreiben und Weiterleiten von URL-Anfragen realisieren. Die Proxy_cache-Komponente in Nginx kann die vom Remote-Ende angeforderten Quelldaten lokal speichern und so den Aufbau eines CDN-Netzwerks realisieren.

Schreiben Sie es selbst: Es gibt keinen besonders komplexen technischen Schwellenwert für CDN-Netzwerke. Wenn Sie spezielle Anforderungen haben, können Sie selbst einen schreiben. Natürlich gehört das in der obigen Abbildung vorgestellte CDN-Netzwerk zum CDN-Netzwerk der ersten Generation. Durch Hinzufügen der P2P-Technologie der zweiten/dritten Generation zum CDN-Prinzip kann ein CDN-Netzwerk der zweiten Generation gebildet werden:

Architekturdesign: Entwurfsplan für die Lastausgleichsschicht (8) – Zusammenfassung der Lastausgleichsschicht Teil 1

Die dritte Generation der P2P-Technologie, auch Hybrid-P2P-Technologie genannt, dient hauptsächlich dazu, den Verarbeitungsdruck von Metadatenservern zu lösen und die Lokalisierung von Ressourcen zu beschleunigen. Was die P2P-Technologie betrifft, werde ich ein neues Thema erstellen, um sie einzuführen, nachdem ich „Business System Design“ und „Business Communication System Design“ abgeschlossen habe. Darüber hinaus möchte ich erwähnen, dass das P2P-Netzwerk von YouTube von selbst aufgebaut ist.

4. Spätere Einführung

Es gibt so viel zusammenzufassen, dass ich beschlossen habe, einen weiteren Artikel „Architekturdesign: Lastausgleichsschicht-Designplan (9) – Lastausgleichsschicht-Zusammenfassung“ des nächsten Artikels zu öffnen ", fahren Sie mit der Zusammenfassung der Load-Balancing-Layer-Technologie fort. Wir werden Keepalived, DNS-Technologie und Hardwarelast zusammenfassen und Ihnen eine umfassendere Lastausgleichstechnologie vorstellen.

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt den Architekturentwurf vor: Entwurfsplan für die Lastausgleichsschicht (8) - Zusammenfassung der Lastausgleichsschicht, einschließlich der oben genannten Aspekte. Ich hoffe, dass er Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage