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

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

多くの人は日常業務において、さまざまな文書を保存するためにオンラインコラボレーションプラットフォームやクラウドストレージサービスを使用しています。ただし、このアプローチでは、アプリケーションで大量のドキュメント データを処理、保存、取得する必要がある場合に課題が生じることがよくあります。この時点で、電子文書管理システム ( 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 社

推薦する

catalysthost - 年間 12 ドル / 96 MB メモリ / 10 GB ハード ドライブ / 無制限の G ポート

2010 年に設立された CatalystHost は、SolusVM パネル、無料の DNS ホス...

中国サイバースペース管理局:サイバースペースは噂の場になってはならない

サイバースペースは噂の場になってはならない - 中国サイバースペース管理局の関係者が、ネット上の噂対...

マイクロブログマーケティングをマイクロビジネスで活用する方法

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeChatビジネスはW...

ホストキー: 月額 98 ユーロ、ロシアのサーバー、Ryzen9 3900X/32G メモリ/500g NVMe

ホストキーについてはご存知ですよね?オランダ (Serverius)、ロシア (datapro)、米...

クラウドの方が安全なのに、なぜまだハッキングされるのでしょうか?

経験豊富なセキュリティ専門家なら誰でも知っているように、実行中のコンテナの多く、あるいはほとんどには...

4人の大学生が食べ物や飲み物を配達するウェブサイトを立ち上げました。彼らのビジネスのきっかけはTaobaoでした。

■ 江東氏(中央)と彼の仲間たちクラスメイトが寮にこもって外出をせず、それでも食べ物を注文したい場合...

SEO担当者の受注スキルの秘密テクニックについて簡単に説明します

これを書く理由は特にありません。ただ突然書きたくなっただけです。この記事は、Lao Qian が過去...

百度は今年後半に低品質のサイトを厳しく処罰する予定で、ウェブマスターにとって悪いニュースがやってくる

この記事を読むためにクリックしたあなたは、タイトルのためにここに来たのだと思います。ここで私が伝えた...

buyvm: これはおそらく、大容量ハードドライブを備えた最も信頼性が高く安価な VPS であり、トラフィック制限もありません。

buyvm、海外の安価なVPSを使用するほとんどの人は、それについて少しは知っているはずです。このカ...

SEO は金鉱ではありません。方法を学習することによってのみ、段階的に勝利することができます。

2012年のインターネットウェブマスターカンファレンスからしばらく経ちました。雷軍と李国青の成功を考...

ハイブリッド クラウド環境で Kubernetes を拡張する際の課題と解決策

トラフィックが急増した場合、ユーザーの需要を満たすためにアプリケーションを拡張する必要があります。こ...

自己を見つめる質問:繰り返し消費、注文消費、分散取引

[[429685]]こんにちは、みんな私はあなたの学習と成長のパートナーですキャプテンRocketM...

ウェブサイトのコンテンツを作成するときは、まず統計ツールを見てください。そうすることで、正しい方向に進むことができます。

今はビッグデータの時代、精密マーケティングが重視される時代です。精密マーケティングは何を頼りにしてい...

新しいブランドマーケティングモデル - 反省的マーケティング思考

マーケティングの仕事では、計画は非常に論理的であるが、期待される成果について尋ねられると、会社はあれ...

ブランドマーケティング、岡本はどうやって消費者を捉えているのか?

消費のグレードアップという文脈において、岡本は差別化されたブランドの独自性を活用し、消費者に対する正...