大量のドキュメント専用の「ネット ディスク」を構築します。試した人は「本当に美味しい」と言っています

大量のドキュメント専用の「ネット ディスク」を構築します。試した人は「本当に美味しい」と言っています

多くの人は日常業務において、さまざまな文書を保存するためにオンラインコラボレーションプラットフォームやクラウドストレージサービスを使用しています。ただし、このアプローチでは、アプリケーションで大量のドキュメント データを処理、保存、取得する必要がある場合に課題が生じることがよくあります。この時点で、電子文書管理システム ( EDMS )は、非常に高いパフォーマンスと可用性でさまざまな種類の文書を保存、インデックス作成、取得するように設計されており、カスタマイズ可能なメタデータやバージョン管理などの機能も提供するため、より優れたソリューションになります。

Akamai クラウドコンピューティングの詳細を読む

より強力なツールが必要な場合は、A kamai クラウド コンピューティングを選択してください

市場には多くのSaaSベースEDMSソリューションがありますが、独自のデータを完全に制御するために、オープンソースのEDMSソフトウェアを使用して独自の専用ドキュメント管理システムを展開することもできます。この記事では、 PostgreSQLデータベースを使用してLinodeプラットフォーム上に高可用性のMayan EDMSをデプロイする方法を紹介します

EDMSの利点

大量のドキュメントを保存および処理するためにWebアプリケーションベースのEDMSを使用し、クライアントにアプリケーションをインストールさせたくない場合は、このアプローチが理想的な選択肢となります。この集中型EDMSにより、次のことがより確実に実現されます。

  1. セキュリティ、プライバシー、データの完全な管理
  2. サードパーティソフトウェアとの統合が簡単
  3. ビジネスプロセスに沿った自動化されたドキュメントワークフローを構築する

PostgreSQLを使用する理由は何ですか?

PostgreSQLは、スケーラビリティ、セキュリティ、パフォーマンスが高く評価されている強力なオープンソースのオブジェクトリレーショナルデータベース管理システムです。アプリケーションのエンドツーエンドのスケーリングをサポートするには、データベースも高可用性である必要があります。したがって、このフレームワークには、 PostgreSQL専用のデータ複製ツールが含まれています。

Mayan EDMSを使い始める

Mayan はPython開発されたオープンソースWebベースのEDMSです Mayan はデフォルトで単一のサーバーにインストールして実行するように設計されており、アプリケーションとデータベース コンポーネントを同じサーバーまたは複数のDockerコンテナーに配置できます。この構成は開発およびテスト環境に適していますが、実稼働環境ではより高い可用性が必要であり、よく知られているSoC ( Separation of Concern)の概念を実装する必要があります。これは、階層化されたスケーラブルなアプリケーションを構築する際の重要なベスト プラクティスです。私たちのリファレンス アーキテクチャは、 Mayanを使用してこの目標を達成する方法を示しています

1.利点

  • オープンソース、ライセンス不要
  • さまざまなバージョンのドキュメントを簡単に保存、表示、取得できます
  • カスタマイズ可能なユーザー定義メタデータを使用したドキュメントの全文検索
  • 効果的なユーザーロールと権限を設計するための柔軟なアクセス制御
  • イベントトリガーを通じてドキュメントを最新の状態に保つカスタマイズ可能なワークフロー

2.不十分

  • 小規模なユースケースでは少し複雑
  • ユーザーインターフェースは他のソリューションに比べて直感的ではない
  • 光学文字認識( OCR )には多くのCPUリソースが必要です。

アプリケーションリファレンスアーキテクチャ

実際の使用例に合わせてMayanの機能を完全に最適化するために、当社のリファレンス アーキテクチャでは次のコンポーネントを使用しています。

  • NGINX : Webサーバー
  • PrometheusGrafana : 監視および観測ツール
  • PostgreSQL : データベース
  • Bucardo : PostgreSQL双方向データベースレプリケーション
  • Linode オブジェクトストレージ: S3互換の高可用性ストレージサービス
  • keepalived : IPフェイルオーバー

NodeBalancer はトラフィックをさまざまなアプリケーション ノードに分散します。アプリケーション サーバーがダウンした場合、負荷分散サービスは正常に機能しているノードへのトラフィックの分散を開始できます。障害が発生したノードが正常に戻ると、負荷分散サービスは障害発生前と同じようにトラフィックを分散します。これにより、ダウンタイムを心配することなくアプリケーション サーバーを簡単に追加、削除、更新でき、 PostgreSQLデータベース ノードへの接続を常に維持できます。

アプリケーションの頭脳であるMayanNGINX は同じ仮想マシンにデプロイされます。 Mayans3boto3サポートを使用してストレージ バックエンドを取得し、 LinodeS3互換オブジェクト ストレージ サービスにドキュメントをアップロードできます

アプリケーションが重要であり、 PostgreSQL を主要なバックエンド データベースとして使用する場合は、 Bucardoを追加して稼働時間をより確実にし、データベースのフォールト トレランスを実現できます。

PostgreSQL をサポートするマネージド データベース サービスを使用して高可用性とレプリケーション機能を実現することもできますが、ほとんどのDBaaSサービスはPostgreSQLバージョンの更新とデータベース クラスターが常にオンラインで利用可能であることの確保に重点を置いていることに注意することが重要です。したがって、 Bucardo を実装すると、 PostgreSQLデータベースを 2 つ以上のデータベース ノード間で双方向に複製できるようになり、データベースの高可用性が確保されます。

この例では、すべてのノードはクラウド ファイアウォールを使用して保護され、パブリック インターネットからの脅威を防ぎ、ノードはプライベートVLANを介して内部的に通信します。アプリケーション サーバーは共有フローティングVLAN IPアドレスを介してデータベースに接続し、フェイルオーバーはKeepalivedを介して実現されます

Keepalived (またはFRRouting (FRR)などの他のIPフェイルオーバー システム) はデータベース レベルで実装されているため、正常なデータベース ノードはアプリケーション ノード クラスターに接続できます。

重要なファイルに対するフォールトトレランスの実装

EDMS は通常、日常業務のハブとして機能し、おそらくビジネスで最も重要なドキュメントが含まれています。この例で説明するアプリケーションでは、各レイヤーに冗長性が組み込まれているため、フォールト トレランスが実現されるだけでなく、パフォーマンスがさらに最適化されます。

  • ドキュメントはLinodeの高可用性オブジェクトストレージサービスに保存されます
  • データベースは別のノードに配置されているため、パフォーマンスが向上するだけでなく、単一障害点の防止にも役立ちます。
  • BucardoはPostgresノード間のデータベースレプリケーションを自動化できます

より技術的なコンテンツとアーキテクチャを探る

AkamaiLinode のソリューション エンジニアリング チームは、開発者がアプリケーションのソフトウェア アーキテクチャを構築するためのベスト プラクティスに簡単に従うことができるように、このようなフレームワーク、ガイド、ツールを定期的に共有しています。

この記事の内容は大丈夫でしょうか?今すぐLinodeプラットフォームで試してみませか?今すぐ登録すると、 100ドル相当の無料クレジットを獲得できることをお忘れなく。早速、この記事で紹介した機能やサービスを実際に体験してみましょう↓↓↓

強力な開発ツールをお探しなら、 Akamaiが最適です。

高可用性MySQL/MariaDBリファレンス アーキテクチャと豊富なアプリケーション例について学ぶには、 Akamaiをフォローしてください

<<:  エッジデータセンターとは何ですか?

>>:  年末レビュー: 2023 年に最も注目されるクラウド コンピューティング スタートアップ 10 社

推薦する

2021 年のトップ 5 のエンタープライズ クラウド ストレージ ソリューション

多くの企業はすでにクラウドに移行し、そのメリットを実感しているので、トップクラスのクラウド ストレー...

tunevps-Windows/1g メモリ/20g ハードディスク/1T トラフィック/ロサンゼルス/年間 30 ドルの支払い/Alipay

tunevps は 3 年間運営されている VPS ビジネスのようです。主なデータ センターはロサン...

フォーラム運営戦略1:ポイントシステムの構築と運用

フォーラムは、ウェブサイトの重要な形態として、その強い自律性、強いインタラクティブ性、および管理の容...

フォーラムは死んでいません: ファーストフードはどのようにしておいしい食事の代わりになるのでしょうか?

過去数年間で最も人気があったウェブサイト形式のフォーラムは、近年徐々にWeiboとWeChatに追い...

知っておくべきすべてのJVMパラメータは次のとおりです

[[439460]]この記事はWeChatの公開アカウント「Java Technology Guid...

大手ウェブサイトからのSEOのヒント

今日では、検索エンジン最適化はよく知られ、人気が高まっています。検索エンジン最適化を行う人は数え切れ...

ユーザーを維持する能力を持つ人は、ウェブサイトを成功させる力を持っています

6月のBaidu Kサイト攻撃以来、Kサイト攻撃は止むことはありませんでした。今日、家に帰ってパソコ...

より低コストでより便利な方法でプライベート クラウドを構築するにはどうすればよいでしょうか?

パブリック クラウドでもプライベート クラウドでも、基盤となるインフラストラクチャを考慮する必要はな...

テンセントはWeiboやOasisに対抗するために「Youji」を立ち上げるのか?

インスタグラムは国内で長年人気を博してきたが、ついにソーシャルサークル型製品に大手インターネット企業...

Baidu SEM と 360 SEM の重要性を評価する方法

インターネットの神、周洪一が360 Searchに取り組んでいたとき、彼はかつてこう言った。「我々は...

Minecrafted-7 USD/Xen ベースの 2 GB RAM/10 GB SSD/1 TB 帯域幅/G ポート

Minecrafted は、2011 年に開始された Minecraft ホスティング サービス プ...

オンライン教育アプリユーザーの支払いコンバージョン率を向上させるにはどうすればよいでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス疫病はオンライン教育業界...

ERP の未来はクラウドにあります。問題は、企業はクラウド化をどこから始めるべきかということです。

世界中のあらゆる業界で、クラウドは現代の企業のビジネスのやり方に革命をもたらしています。先見性のある...