みなさんこんにちは、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 つのプロジェクトがあります。これらのプロジェクトの要件、計画、アーキテクチャ、実装などはすべて実際のインターネットビジネスシナリオからのものであり、大手インターネット企業のビジネスおよびテクノロジー実装計画を真に学び、それを効果的に自分の知識蓄積に変換することができます。 |
>>: クラウドコンピューティング:現代のテクノロジーに不可欠な要素
序文同時実行性の高いシステムでは、フローを制御することが非常に重要です。大量のトラフィックが直接サー...
モールサイトは一般的な企業サイトとは異なります。企業サイトは、多くの場合、いくつかのキーワードランキ...
ライト、ライト、ライト!CEENとAdmin5 Webmaster Networkが共同で開催した「...
短編動画の人気による再編を経て、動画クラウド市場の構造が決定されました。最近、国際的に権威のあるデー...
刻々と時間が過ぎ、ロンドンオリンピックまで残り2日となった今、オリンピックの開会式が行われます。今年...
5G やエッジ コンピューティングなどの新しいトレンドが出現するにつれ、テクノロジーの専門家は、必要...
創造性に関するあらゆる定義の中で、最も簡潔かつ意味深いのは、ジェームズ・ウェブ・ヤングによる定義だと...
広州日報によると、今月7日、深センの姚さんは公益法律支援プラットフォームの支援を受けてアップルを提訴...
Peakservers は、256M メモリ、128M スワップ、ダラス データ センター、G ポー...
私は SEO に携わってまだ間もないですが、多くの激変を経験してきました。邪悪な狼ユドン・ソは神だと...
会社の製品写真を Baidu に表示させるにはどうすればよいでしょうか。これは多くの SEO 担当者...
fatcow の感謝祭の日に、月額 1.99 ドルで無制限の仮想ホスティングを開始しました。 PS:...
ルクセンブルクの VPS の推奨事項、ルクセンブルクの VPS のレンタル、ルクセンブルクの VPS...
悪質なモバイルアプリケーションが急増している現状を受けて、工業情報化部は最近、「モバイルインターネッ...
オンラインマーケティングを行っている友人たちは、インターネットで最初の金を稼ぎ、多くの友人、特に電子...