ホームページ >運用・保守 >Nginx >複数の nginx クラスターの仕組み

複数の nginx クラスターの仕組み

(*-*)浩
(*-*)浩オリジナル
2019-11-20 09:27:037716ブラウズ

Nginx Web サーバーは負荷分散を実現できますが、1 つの Nginx にも制限があり、ボリュームが大きくない場合、その上位層で負荷分散を実現する方法。 DNSやCDNの場合、複数のコンピュータ室を構築すると必然的に複数のコンピュータ室でのデータ同期の問題が発生します。これに関して良い情報はありますか?

複数の nginx クラスターの仕組み

回答:

この領域の情報は基本的に部分的に不完全です。おそらく基本的なアーキテクチャについて説明します: (推奨される学習: nginx チュートリアル )

DNS サーバー。十分な資金がある場合は、BGP コンピューター ルームを使用することをお勧めします。 2-3 DNS サーバー イコライゼーションには、通常バインド ソフトウェアが使用されます。資金が厳しい場合は、国内の dnspod などの専門的な DNS サービスを購入することもできます。

CDN サーバーは、最初の手間を省きたい場合は chinacache などの専門会社のサービスを購入することもできますが、開発が進むにつれてコストはどんどん高くなっていきます。自分で構築する場合は、個別に構築し、チャイナテレコム、チャイナユニコム、チャイナモバイルなどの異なるコンピュータ室にサーバーを置き、DNSを通じて動的解決を実行することもできます。非常に大規模な Web サイトの場合は Squid を使用し、通常の中規模から大規模な Web サイトの場合は Nginx を使用し、内部使用の場合は Varnish を使用します。

フロントエンドはバランスが取れており、十分な資金があれば、数十万台のハードウェア機器を使用できます。すでに技術チームがいる場合は、Nginx/Haproxy Keepalived を使用して独自のフロントエンドを構築できます。バランス方法は、ランダム、重み、IP、URL など、比較的柔軟です。

同期の問題は何を同期するかによって異なりますが、通常はリア​​ルタイムのファイル同期が可能です。ただし、データベースの場合、同期方法は特定のタイプによって異なります。

バックエンド アプリケーション サーバーとデータベース クラスターは、トラフィック プランニングに依存します。

複数の Nginx ユニット間のバランスを実現するには、いくつかの方法があります:

1. 各 Nginx ユニットにはパブリック ネットワーク アドレスがあり、同じドメイン名への複数の方向はドメイン名に設定します。これは、Lun Xun を実装する最も簡単な方法です。ただし、障害の遮断は遅くなります。

2. 1 つのパブリック ネットワーク Nginx は、アップストリーム機能、ホイール、IP、URL を通じてイントラネット上の複数の nginx に配布されます。しかし、パブリックネットワーク上のnginxがダウンすると、内部ネットワークは完全に切断されてしまいます。

3. パブリック ネットワーク Nginx のペアと 3 つのパブリック ネットワーク IP により、キープアライブを通じて高可用性が実現され、その後イントラネットへのアップストリームが実現されます。

4. ハードウェア バランシング サーバーがフロントエンドにあり、コンテンツはハードウェアを介して他のサーバーにバランスされます。

あなたが言及した仮説は、方法 2、3、および 4 を通じて実現できます。

以上が複数の nginx クラスターの仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。