私は2つの部分からなるアプリケーションの開発に着手しました。システム全体がデジタルサイネージアプリケーションとして機能します。すべてが1台の物理マシンに配置されています。これは「IPCとしてのデータベース」の反パターンと考えられますか?
最初のコンポーネントは、コンテンツ管理の管理バックエンドです。ユーザーは、マルチメディアファイルのスケジュールとアップロードを行うことができます。これはブラウザを介して利用可能なWebベースのものです。
2番目の部分はメディアプレーヤーです。そのタスクは、基本的に人がアップロードして表示するデータを読み込むことです。それらのメタデータはデータベースに保存されます(たとえば、この画像を表示する時間、次の処理...)、ファイルシステム内の物理データはすべて同じマシンに格納されています。
関連するすべてのデータは、PostgreSQLデータベースに保存されています。基本的なスケジュール情報+コンテンツのファイルシステムパス - バイナリ形式ではありません。
これらの2つの間にローカルループを介してソケット接続があります。本当に簡単なコミュニケーションとコマンド解析(ステータスチェック、終了、コンテンツのリフレッシュ)があります。ユーザーがWebベースのバックエンドを介して新しいコンテンツをアップロードしたりスケジュールしたりすると、ソケットを介したメッセージがメディアプレーヤーに送信され、新しいスケジュールを作成するよう指示されます。
ただし、プレーヤーが新しいコンテンツを確認するメッセージを受信するとすぐに、データベースからスケジューリングデータが読み込まれます。
これはIPCの反パターンとしてのデータベースと考えられますか?はいの場合、それを解決するより良い方法は何でしょうか?
はいデータは永続的であり、定期的なスケジュールもあります。私が設計プロセスに重大な誤りを犯さなかったことを保証してくれたあなたの応答に感謝します。 – jay