1. 分散ロックを実装するためのコンポーネント分散システムでは、分散ロックを実装するために一般的に使用されるコンポーネントは、Redis、Zookeeper、etcd です。それぞれの特徴を比較すると次のようになります。 上の図は3つのコンポーネントの特性を示しています。その中でも、分散ロックにとって最も重要な点は CP 要件です。ただし、Redis クラスターは CP をサポートしていませんが、AP をサポートしています。公式の redlock ソリューションも提供されていますが、複数のインスタンスの展開 (インスタンスの半分以上が成功と見なされる) が必要なため、展開とメンテナンスが比較的複雑です。したがって、一貫性要件が高いビジネス シナリオ (電子商取引、銀行支払い) では、通常、zookeeper または etcd が選択されます。パフォーマンス、同時実行性、メンテナンスコストを考慮して、Zookeeper と etcd を比較します。 etcd は Go 言語で開発されているため、バイナリ実行ファイルに直接コンパイルされ、他のものに依存しないという利点があります。この記事では、etcd を取り上げ、特定の観点について説明します。 2. APが分散ロックに適さない理由CAP 理論では、分散システムにおけるマルチノード通信は必然的にネットワーク遅延、パケット損失などの問題につながるため、ネットワーク パーティションが必然的に発生します。ネットワーク分割が発生した場合、通常は CP または AP の 2 つのオプションがあります。 ① 分散ロックを実装するために AP モデルを選択した場合、クライアントはクラスターマスターノードのロックに成功した後、すぐにロック成功のフィードバックを受け取ります。このとき、マスター ノードがスレーブ ノードにデータを同期する前にダウンした場合、システムはスレーブ ノードからノードを新しいマスター ノードとして選択します。新しいマスター ノードには古いマスター ノードに対応するロック データがないため、他のクライアントが新しいマスター ノードで同じロックを取得できるようになります。このとき、複数のプロセス/スレッド/コルーチンが同じ重要なリソース データを操作するため、データの不整合などの問題が発生します。 ②分散ロックを実装するためにCPモデルを選択します。マスター ノードがデータをスレーブ ノードの半分以上に同期した後にのみ、ロックが成功したと見なされます。このとき、何らかの理由でマスターノードがダウンした場合、システムはデータ損失などの問題を回避するために、スレーブノードからより新しいデータを持つスレーブノードを新しいマスターノードとして選択します。 したがって、分散ロックの場合、データに強力な一貫性要件が課されるシナリオでは、AP モデルは適切な選択ではありません。少量のデータ損失を許容できる場合は、メンテナンス コストなどの理由から、AP モデルの Redis が優先される場合があります。 3. 分散ロックの特徴と動作分散ロックの場合、操作には次のものが含まれます。
4. etcdについて公式ドキュメントは常に最高の学習教材です。 etcd の公式紹介には次のように書かれています:
分散ロックは、etcd が実現できる多くの機能のうちの 1 つにすぎません。サービス登録と検出は、etcd でより多く使用されます。 当局者はまた、多くのコンポーネントを比較し、次のように分類しました。 比較してみると、それぞれの特徴が分かります。どちらを選択するかについては、あなた自身の心の中に答えがあるかもしれません。 5. etcdは分散ロックの関連インターフェースを実装する分散ロックの場合、etcd の対応する追加、削除、更新インターフェースが主に使用されます。
6. etcd分散ロックコードの例
要約する分散ロック機能を提供できるコンポーネントは多数ありますが、それぞれに独自の性質と個性があります。どのコンポーネントを選択するかは、ビジネスにとってのデータの重要性に応じて異なります。データに強力な一貫性が必要な場合は、CP をサポートする etcd と zookeeper が推奨されます。少量のデータ損失が許容され、強力な一貫性が要求されない場合は、AP をサポートする Redis が推奨されます。 |
<<: Centos8にVDOをインストールして設定し、ストレージスペースを最適化する
>>: フランスは、GoogleとMicrosoftのクラウドサービスが機密データを処理できると述べている
クラウド コンピューティングは成長を続けており、中小企業に多くの機能を提供しています。クラウド コン...
少しニッチな安価な KVM 仮想 VPS をお探しの場合は、シアトル データ センター、1 Gbps...
最近、自分のウェブサイトの見栄えが悪く、改修が必要だと感じる学生もいます。Wangqi SEO は、...
「なぜ私のリンク構築はいつも失敗するのか?」「なぜ私の SEO 最適化は成功しないのか?」このような...
現在、extravmのシンガポールデータセンターのVPS再入荷が40%オフで販売されています。新しい...
「沈む」というのは無力な選択であり、誰も「沈む」ことを望んでいません。これは、私が7歳のときに尊敬し...
NodePacket LLC は 20013 年に設立されたホスティング会社で、VPS およびサーバ...
前に書かれた言葉:ウェブサイトを立ち上げた後、最も重要なのは良質なコンテンツに基づいたプロモーション...
2018 年を迎え、ゲーム配信にはどのような新しいトレンドや変化があるのでしょうか? 業界の配信トレ...
編集者注: この記事の著者はデザイナーの Felix Ding、Ding Yu です。著者がフローチ...
[51CTO.comよりオリジナル記事] DingTalkは先日、バージョン6.0を正式にリリースし...
数日前、私は「Baidu 入札の単位原価計算」と「Baidu 入札の図解分析: 期間分析」という 2...
トラフィックが低迷しているオンライン読書市場には、 Momoが参入し、 Toutiaoがさらなる投資...
中国のインターネットユーザー数が5億人に達したため、中国のインターネットの発展は新たなレベルに達しま...
今年の国慶節に向けて、Piayunは香港クラウドサーバーと米国クラウドサーバーの限定版をリリースしま...