みなさんこんにちは、Bingheです〜〜 Minio は、分散ストレージ システムの構築に適したオープン ソースの高性能オブジェクト ストレージ サーバーです。高い可用性、スケーラビリティ、データ保護メカニズムを備え、Amazon S3 API と互換性があり、ビッグデータ、クラウド コンピューティング、コンテナ化された環境で広く使用されており、アプリケーションに信頼性が高く効率的なオブジェクト ストレージ サービスを提供します。 1. はじめに分散型 IM インスタント メッセージング システムは、単一チャットおよびグループ チャット機能を提供し、メッセージの送受信ではテキスト、絵文字、画像、ファイル、音声、ビデオなどをサポートする必要があります。では、メッセージ送信プロセス中に画像、ファイル、音声、その他のリソースをどのように保存するのでしょうか?非常に効果的な保存方法は、高性能な分散ファイル システムに保存することです。 他の分散ファイルシステムを比較した後、メッセージ画像、ファイル、音声、その他のリソースを保存するために最終的に Minio を選択しました。これは主に、Minio ファイル システムが高性能、高スケーラビリティ、簡単なインストールと操作、消失訂正符号を備えているためです。具体的な機能についてはオンラインで確認できるので、ここでは詳しく説明しません。 2. 環境の説明
3. docker-composeをインストールするdocker-compose 環境のインストールは比較的簡単です。コマンドラインで次のコマンドを実行して、docker-compose をダウンロードしてインストールします。 ダウンロードとインストールが正常に完了したら、次のコマンドを使用して docker-compose ソフト リンクを作成します。 次に、以下に示すように docker-compose のバージョンを確認します。 インストールされている docker-compose のバージョンが 2.17.3 であることがわかり、docker-compose が正常にインストールされたことがわかります。 4. 設定ファイルを書くここでは、4 つの Minio コンテナがインストールされて起動され、Nginx はイメージやファイルなどのリソースにアクセスするための統一されたアドレスを提供します。そのため、docker-compose ベースで Minio コンテナをインストールするための設定を記述するだけでなく、docker-compose ベースで Nginx をインストールするための設定も記述する必要があります。さらに、nginx.conf ファイルも設定する必要があります。 1. コンテナ構成を記述するMinio ファイル システムと Nginx は両方とも docker-compose に基づいてインストールされます。したがって、コンテナ構成を記述するときに、Minio コンテナと Nginx コンテナのインストールを同じ構成ファイルに記述し、docker-compose-minio.yml という名前を付けます。 ソースコードについては、environment/docker-compose-minio.yml を参照してください。 上記の構成では、4 つの Minio サービス コンテナーがインストールされて起動され、Minio コンテナーによってホスト マシンにマップされるポートはそれぞれ 9001 ~ 9004 になります。また、上記の構成では、Minio バックエンド管理アカウントが binghe として設定され、パスワードが binghe123 として設定されていることに注意してください。 2. nginx.conf設定を記述する4 つの Minio コンテナを起動した後、Nginx を使用して外部アクセスの負荷分散を実行します。コンテナ設定ファイルを書き込む際に、コンテナ内の nginx.conf ファイルとホスト内の nginx.conf ファイルとの対応も指定します。したがって、ホスト上の nginx.conf ファイルも設定する必要があります。 ソースコードについては、environment/nginx.conf を参照してください。 5. コンテナを起動する1. コンテナを作成して起動する環境ディレクトリをサーバーにアップロードし、サーバーのコマンドラインを環境ディレクトリに切り替えて、以下のコマンドを入力して Minio コンテナと Nginx コンテナを作成して起動します。 コンテナを作成して起動するプロセスは次のとおりです。 2. 起動状態を確認する起動が完了したら、サーバーのコマンドラインに入力します。 minio コンテナの STATUS 列に正常ステータスが表示されている場合は、Minio コンテナが正常に作成され、起動されたことを意味します。 6. Minioを設定する1.ミニオブラウザを開き、図 4-2 に示すように、アドレス バーに http://192.168.106.102:9001 と入力します。 図 4-3 に示すように、アカウント binghe とパスワード binghe123 を入力して Minio にログインします。 ログイン後のページを図4-4に示します。 ご覧のとおり、Minio サービス インスタンスは合計 4 つあります。 ページの右側にあるスクロール バーをスライドすると、[SERVERS] オプションの下に、図 4-5 に示すように、4 つの特定のサービス インスタンス情報が表示されます。 DRIVES オプションに切り替えると、図 4-6 に示すように、4 つのサービス インスタンスの DRIVE 情報が表示されます。 2. バケットを作成する図 4-7 に示すように、分散 IM インスタント メッセージング システムのメッセージ送信プロセス中に画像、ファイル、音声などのリソースを保存するために、Minio ファイル システムに bh-im という名前のバケットを作成します。 次に、図 4-8 に示すように、[バケット名] 列に bh-im と入力します。 バケットを作成するには、「バケットの作成」ボタンをクリックします。次に、図 4-9 に示すように、[バケット] メニューをクリックしてバケット情報を表示します。 bh-im という名前のバケットが正常に作成されたことがわかります。図 4-10 に示すように、[管理] をクリックします。 図 4-11 に示すように、bh-im バケットの Summary のアクセス ポリシーをプライベートからパブリックに変更します。 変更が完了すると、図4-12のようになります。 3. パフォーマンスを最適化するバケットを作成したら、Minio ファイル システムの複数のノード間の同期パフォーマンスを最適化しましょう。 [設定]メニュー - [スキャナー]サブメニューを選択し、図4-13に示すように、[遅延乗数]、[最大待機時間]、および[サイクル]の値を設定します。 ご覧のとおり、ここでは、複数の Minio ノード間の同期効率を上げるために、遅延乗数を 10 に、最大待機時間とサイクルを 1 秒に設定しています。 7. Minioのテスト図 4-14 に示すように、[バケット - 参照] を選択します。 参照ページに入ると、ページは図 4-15 のように表示されます。 ここでは、上向き矢印ボタンをクリックして写真をアップロードします。アップロードが完了すると、図4-16のように表示されます。 次に、図 4-17 に示すように、画像をクリックして詳細を入力します。 写真の詳細ページに入ったら、図 4-18 に示すように、[共有] ボタンをクリックします。 共有ボタンをクリックすると、結果は図 4-19 のようになります。 ご覧のとおり、共有ページでは写真のアクセス リンクが提供されます。ここで、「コピー」ボタンをクリックして画像リンクをコピーします。コピーした画像リンクは以下のようになります。 Minio 分散ファイルシステム内のリソースに均一にアクセスするように Nginx を構成したので、ここでは IP アドレス 図 4-20 に示すように、ブラウザのアドレス バーで IP アドレスを変更した後、リンク アドレスを開きます。 ご覧のとおり、アップロードした写真はブラウザで正常に表示されています。 この時点で、クラウド ネイティブ モードのマルチノード Minio 分散ファイル システム環境が構築されました。 8. 最後にこれらの実際のシナリオのプロジェクト設計と実装、分散 IM インスタント メッセージング システムに加えて、Iceberg の Knowledge Planet には他に 5 つのプロジェクトがあります。これらのプロジェクトの要件、計画、アーキテクチャ、実装などはすべて実際のインターネットビジネスシナリオからのものであり、大手インターネット企業のビジネスおよびテクノロジー実装計画を真に学び、それを効果的に自分の知識蓄積に変換することができます。 |
>>: クラウドコンピューティング:現代のテクノロジーに不可欠な要素
技術フローは、中国では常に馴染みのない言葉でした。多くの国内技術が閉鎖的な状態にあるためです。今日は...
Kazila のプロモーションを見たとき、これを投稿しなければなりませんでした。Kazila、この ...
locvps は、ロシアの vps も提供します。これは、デフォルトでロシアの cn2 gia ライ...
インターネット製品はユーザーの時間を奪い合うために激しく競争しています。タオバオも非常に不安を抱えて...
誰もが今同じような考えを持っているに違いありません。つまり、タオバオとTmallでビジネスをするのは...
アメリカの老舗 VPS ベンダーである Virpus が、50% 割引のプロモーションを実施していま...
friendhosting が最新のオファーを発表しました。今から 10 月 30 日まで、「テスタ...
ポップマートは「最初のブラインドボックス株」や「最初の流行玩具株」として知られており、数日前に香港証...
SEO の重要性はますます高まっています。SEO はウェブサイトのあらゆるレベルに浸透しています。健...
アメリカの企業であるModern Solutionsは、2017年に設立されたと伝えられており、主に...
今日はせっかくの機会なので、重みとキーワードの重要な関係について私の考えをシェアしたいと思います。 ...
hostmem は 618 年半ばのプロモーションを開始しました。QN ロサンゼルス データ センタ...
テキスト | 李星外食産業はほとんどの産業よりも市場規模が大きい。国家統計局が発表したデータによると...
以下のデータを通じて、編集者はダブル11の熱狂に加わり、電子商取引業界の同僚とともにTmallのダブ...
世界的に有名なデータ企業オラクルは9月12日、2020年度第1四半期の財務報告を発表した。財務報告に...