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

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

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

推薦する

私はロックダウン中のビジネス変革について起業家と話すためにここにいます

当時の状況は、起業家に自社の見通しと将来の発展について包括的かつ深く考えることを迫りました。今日は、...

yourserver-スウェーデン/100M 無制限/256M メモリ/5gSSD

yourserver、この製品を見たのは初めてですが、スウェーデンで VPS サービスを提供し、op...

Kubernetes ポリシー エンジン Kyverno の使用

Kyverno は Nirmata のオープンソース プロジェクトであり、後に CNCF に寄贈され...

伝統的なオンライン採用業界はソーシャルネットワークに「奪われ」つつあり、VCを見つけるのは困難です

オンライン採用の影響で、紙媒体の採用は人々の前から消え去る日も近いかもしれません。しかし、オンライン...

Huawei CloudのXiao Yi氏:Fusionplant 2.0は産業のデジタル化を可能にし、品質と効率を向上します

5月16日、2023年ファーウェイクラウドシティサミットの国内最初の開催地が広州に到着した。このサミ...

インテリジェントなクラウドネイティブアプリケーションの台頭

マーク・アンドリーセンはかつてウォール・ストリート・ジャーナルに「なぜソフトウェアが世界を席巻してい...

自分のウェブサイトが攻撃を受けた場合、ウェブマスターは何をすべきでしょうか?さまざまなウェブサイト攻撃に対する解決策

中小規模のウェブサイト所有者は「ハッカー」による攻撃を受けることが多く、その結果、小規模なウェブサイ...

CNCF TOC 委員会メンバー Zhang Lei: 進化するクラウド ネイティブは私たちに何をもたらしたのでしょうか?

[[412417]]クラウドネイティブとは何ですか? 「クラウド ネイティブ」という用語はしばらく前...

メガレイヤーはどうですか?米国国際ラインサーバーレビュー

メガレイヤーはどうですか?メガレイヤーUSAはどうですか? Megalayer の米国サーバーは、サ...

Douyuのライブストリーミング電子商取引事業は失敗

Douyu は再び電子商取引を行っていますが、今回はライブストリーミング電子商取引です。 2018 ...

何百もの Kubernetes クラスターを管理するには何が必要ですか?

要点:実稼働環境に対応するために必要なすべての依存関係を備えた Kubernetes クラスターをデ...

プロジェクトバージョン管理のベストプラクティス: Yunxiao Feiliu Flow

目次1. 分岐規則2. バージョン番号の指定2.1 メジャーバージョン番号(最初のバージョン番号) ...

テンセントが「批判を求める」ため新浪微博にアカウントを開設、微博の投稿1件が12万人のフォロワーを集める

テンセントは「批判を求める」ためにSinaにWeiboアカウントを開設した(TechWebの写真)南...

ネットイースとテンセントは必然的に戦うことになる

NetEaseとTencentが戦ったらどうなるでしょうか?これまで、業界でインターネットの状況につ...

オリジナル記事の盗作を防ぐ方法

SEO最適化のためのオリジナルコンテンツの重要性は誰もが知っています。オリジナルコンテンツはすべての...