レジストリ: 分散システムへの対応方法

レジストリ: 分散システムへの対応方法

サービス検出の概念は、実際には私たちのプロジェクトで長い間使用されてきましたが、あまり注目されていないかもしれません。 Nginx を例に挙げてみましょう。このよく知られたリバース プロキシ コンポーネントのコア機能の 1 つは、サービス検出メカニズムに依存しています。具体的には、トラフィックをアプリケーション サーバーに正しく転送するには、まず Nginx がこれらのサーバーの特定のアドレスを認識する必要があります。このプロセスは実際にはサービス検出です。

Nginx 実装では、構成ファイルでアプリケーション サーバーのアドレスを詳細に構成することでこれを実現します。この方法は単純かつ直接的ですが、サービス検出の概念の基本的な形式も示しています。

確かに、クライアント コードで RPC サーバー アドレスを直接構成することは、サービスを検出するためのシンプルで簡単な方法ですが、ご存じのとおり、この方法では実際の操作で複数の問題が発生します。これらの問題とその解決策を一つずつ見ていきましょう。

まず、緊急拡大によってもたらされた課題についてです。業務のピーク時や緊急事態が発生した場合、増加した負荷に対応するためにシステムを迅速に拡張する必要がある場合があります。サーバー アドレスがクライアントにハードコードされている場合、拡張ごとにクライアント構成を手動で更新し、クライアント プロセスを再起動する必要があります。これは時間がかかるだけでなく、エラーが発生しやすく、システムの回復力と可用性に影響を与えます。

2 番目は、サーバー障害の処理です。分散環境では、さまざまな理由によりサーバーが突然クラッシュする可能性があります。サービス アドレスが静的に構成されている場合、サーバーに障害が発生すると、手動で構成を変更し、すべてのクライアントを再起動して、障害が発生したノードを排除する必要があります。これでは、自動回復はおろか、迅速な対応も明らかに実現できません。

最後に、サーバーがオンラインおよびオフラインになるときのトラフィック管理の問題があります。サーバーの再起動やメンテナンスが必要な場合、静的構成方法ではスムーズなトラフィック転送を実現できません。クライアントは再起動中のサーバーにリクエストを送信し続けるため、リクエストの遅延や失敗が発生し、ユーザー エクスペリエンスとシステムの安定性に影響を及ぼします。

上記の問題を解決するために、登録センターの導入はより先進的でダイナミックなソリューションとなっています。登録センターを使用すると、サーバーは起動時にアドレス情報を登録センターに登録し、クライアントは登録センターからサービス アドレスを動的に照会します。このメカニズムには、いくつかの重要な利点があります。

動的なサービス検出と負荷分散: クライアントはサーバーの最新のアドレス情報をリアルタイムで取得し、手動介入なしで負荷分散とフェイルオーバーを実現できます。

迅速な容量拡張と障害回復: サーバーのオンラインおよびオフライン ステータスはクライアントに対して透過的であり、容量拡張要件やサービス障害に迅速に対応できるため、システムの可用性が向上します。

スムーズなオンラインとオフライン: 登録センターは、サービス トラフィックをより柔軟に管理し、スムーズなオンラインとオフラインのサービスを実現し、サービスの再起動によるリクエストの失敗を回避できます。

業界には、旧式の ZooKeeper、Kubernetes で使用される ETCD、Alibaba のマイクロサービス登録センター Nacos、Spring Cloud の Eureka など、選択可能な登録センター コンポーネントが多数あります。

写真

サービスステータスの管理方法

サービス登録および検出メカニズムを使用する場合、サーバーは起動時に登録センターに登録し、クライアントは通信のために登録センターを通じてサーバーを見つけます。このように、サービス ノードの追加または削減はクライアントに対して透過的になり、管理が簡素化されます。サービスをスムーズにシャットダウンし、リクエストの処理の失敗を回避するために、サーバーはシャットダウンする前にまず登録センターから登録を解除し、新しいリクエストの受信を停止します。

ただし、突然の停電などによりサーバーが異常終了した場合は、正常にログアウトできず、クライアントは無効なサービスに接続しようとしてエラーが発生します。解決策の 1 つは、登録センターがサーバーがアクセス可能かどうかを定期的に確認し、アクセスできない場合はサービス リストから削除することです。この方法は初期段階では非常に有用ですが、問題もあります。たとえば、検査のために特定のポートを開く必要があり、ポートの競合が発生する可能性があります。サーバーの数が多いと、検査にも多くのリソースが消費され、一定の遅延が発生します。したがって、この方法はサーバーの異常終了の問題を解決できますが、実際の状況に応じて調整および最適化する必要があります。

そのため、後でハートビートモードに変更しました。

登録センターはハートビート メカニズムを使用して、RPC サーバーが稼働しているかどうかを検出します。登録後、サービス ノードは定期的に (たとえば 30 秒ごとに) 登録センターにハートビート パケットを送信します。登録センターはハートビートを受信すると、ノードの更新時間を更新します。ノードが指定された時間内 (90 秒など) にハートビートを送信しない場合、レジストリはそのノードを利用不可としてマークします。このメカニズムはアクティブ検出よりも効率的で、適用範囲も広くなっていますが、登録センターが重要になり、障害やバグが発生するとサービス クラスター全体に影響が及ぶ可能性があります。

サービス ガバナンスは、複雑な問題を解決するためにクラスターを構成する複数のサービス ノードを管理するプロセスです。これを都市管理と比較すると、サービス登録と検出は交通の流れを更新することと同じです。新しいサービス ノードを開始することは新しい道路を開設することと似ており、交通 (車両) に新しい走行可能なルートを通知する必要があります。サービス ノードをシャットダウンするには、ルートを回避するための通知が必要です。サービス監視は、交通状況をリアルタイムで観察する道路監視に似ています。回路遮断と迂回は、道路混雑時の一時的な閉鎖と交通規制に相当します。分散追跡は交通事故を調査するためのフルリンク分析です。負荷分散は交通警官のようなもので、特定の時間にどのルートの方が障害物が少ないかを案内します。このプロセス全体は、サービス クラスター (都市) の効率的かつ円滑な機能の確保を目的としています。


<<:  Kubernetes での AI と機械学習のワークロードの最適化

>>:  クラウドネイティブについて簡単に説明

推薦する

クラウド停止の原因と損失、クラウド停止による損失を減らす方法について詳しく説明します。

クラウド コンピューティングは、効率性を高め、データのセキュリティを強化し、利益を増やす機会を提供し...

SEO ピア競争の秘密兵器を解き放つ 4 つの鍵

SEO 運用モデルはビジネスモデルであり、今日の社会における数千万のビジネス競争の 1 つです。した...

小竹短期レンタルはシリーズBの資金調達で数千万ドルを獲得し、短期レンタル業界は新たなピークを迎えるかもしれない。

はじめに:中国の宿泊業界のオンライン予約量から判断すると、短期賃貸市場は依然としてニッチかつ断片化さ...

SEOには高度な技術よりも粘り強さが必要

私が初めて SEO に触れたとき、これは専門家が多数在籍し、強力な内部力と技術的サポートを必要とする...

クラウドネイティブトレンドにおける移行と災害復旧

傾向1. クラウドネイティブ開発のトレンドクラウドネイティブは近年非常にホットな話題となっています。...

K8sGPT、AI をベースにした究極のクラウドネイティブ ツール

人工知能と機械学習の台頭により、企業や組織は競争上の優位性を獲得するためにこれらのテクノロジーを活用...

825から904までの観察から百度のアルゴリズムアップデートに疑問を呈する

数日間観察し、さまざまなフォーラムでコミュニケーションをとった結果、Baiduのアルゴリズム調整によ...

Hostpair - 50% オフ/最低 $9.15/年/共有ホスティング/リセラー

Hostpair は 2009 年に設立され、主な事業は海外仮想ホスティング、米国 VPS、再販業者...

P2Pプラットフォームは50%が死んでいると言われており、内部関係者は規制の詳細は今年中に発表されるだろうと述べている。

P2Pプラットフォームは50%が死んでいると言われており、内部関係者は規制の詳細は今年中に発表される...

Chuangsu Cloud: 香港 VPS、CN2 ネットワーク、4M 無制限帯域幅、2G メモリ、69 元!

創蘇クラウドについてご紹介します。創蘇クラウドは、付加価値通信サービスの運営に特化したハイテク企業で...

クラウド監視のユースケースと、なぜ気にする必要があるのか

オンプレミスからクラウドまで、アプリケーションとネットワーク パフォーマンスのエンドツーエンドの可視...

コラボレーションオフィスSKYCC複合マーケティングソフトウェアと通常のマーケティングソフトウェアのどちらが優れていますか?

インターネットの急速な発展に伴い、ますます多くの企業がオンライン マーケティング業界に参入し、さまざ...

Kステーションになっても妊娠はしない。最近のBaidu Kステーションのまとめ

前面に書かれた昨日、Baidu が小さなアップデートを行いましたが、多くのフォーラムで、多くのサイト...