データベースを使用しないユーティリティのspring-mvcアプリケーションがあります。これは単なる石鹸/レストラッパーです。デプロイ間に存続するユーザーに表示するための任意のメッセージを格納したいと考えています。アプリケーションは、このデータを読み書きできる必要があります。このためのベストプラクティスはありますか?データベースに依存しないWebアプリケーションのデプロイ間でサーバーの状態を保存するにはどうすればよいですか?
答えて
複数のオプション。
ファイルシステムに何かを書く - 永続性のために最適です。少し遅いです。主な欠点は、おそらく共有ファイルシステムでなければならないということです。どのようなタイプのクラスタリングもこれをうまく処理できないからです。その後、ファイルロックの問題が発生します。非常に簡単な実装
埋め込みDB - ファイルシステムへの書き込みと同様のメリットと落とし穴がありますが、ロックやトランザクションの問題が改善されている可能性があります。多少難しい実装。
分散キャッシュ - Memcachedと同じように、ファイルよりも高速ですが、それほど多くはありません。クラスタリングとロックの問題を扱う。しかし、それは永続的ではありません。短いWebアプリケーションの再起動ではかなり信頼できますが、確かに100%ではありません。実装が難しく、さらに別のサーバーが必要です。
に切り替えたいとき、私はそのファイルシステム上のファイルに簡単な店でしょう。埋め込まれたデータベースなどを使用することは可能ですが、1つのメッセージに対してはファイルは正常です。
ファイルをアプリケーションディレクトリの外に保存することをお勧めします。 それはその横にあるかもしれませんが、あなたの "webapps /"ディレクトリ内に格納しないでください。
おそらく並行性を管理する必要があります。グローバル(静的)読み取り/書き込みロックはうまくいくはずです。
Tomcat/Jetty homedirに入れますか? (/ tmpは揮発性であるため出力されています) – jabbie
私はJNDIを使用します。なぜ複雑すぎるの?
- 1. HTML5 for Mobileアプリケーションでデータベース接続をWebサーバーに保存するにはどうすればよいですか?
- 2. セッション状態を保存するにはどうすればよいですか?
- 3. Android WebViewに現在のURLの状態を保存するにはどうすればよいですか?
- 4. UIImageまたはUIImageViewの状態を保存するにはどうすればよいですか?
- 5. toogleButtonのオン/オフ選択の状態を保存するにはどうすればよいですか?
- 6. MessageDigestの内部状態をデータベースに保存するにはどうしたらいいですか?
- 7. データベースにデータを保存するにはどうすればよいですか?
- 8. Windows Store Appに自分の状態を保存するにはどうすればいいですか?
- 9. JSF - セッションがタイムアウトするとmanagedBeanの状態を保存するにはどうすればいいですか?
- 10. Redisに時間依存メトリックを保存するには、どのような方法が良いですか?
- 11. Node.jsにアプリケーション状態を保存する
- 12. データベースにアプリケーションの状態を保存する
- 13. アプリケーションの状態、データはどのくらいメモリに保存されますか?
- 14. どのようにonClickListenerの状態を保存するのですか?
- 15. Linqpadでクエリを再実行する間に、どのような状態が保存されますか?
- 16. グローバルなJavascriptオブジェクトはどのように状態を保存しますか?
- 17. オフラインのsqliteデータベースにPDFなどのファイルを保存するにはどうすればよいですか?
- 18. 形状をデータベースに保存するにはどうすればいいですか
- 19. アプリケーション状態の保存AIR
- 20. アプリケーション状態でのクラスの保存(ASP.NET)
- 21. クロスプラットフォームのGUIアプリケーションを最新の状態に保つにはどうすればよいですか?
- 22. httpウェブサイトのスクリーンショットを作成してサーバーに保存するにはどうすればよいですか?
- 23. MySQLデータベースに保存されているPHPを実行するにはどうすればよいですか?
- 24. どこの(私の)SQLデータベースがWebサーバーに保存されていますか?
- 25. 中間データを保存してSQLクエリ間で共有するにはどうすればよいですか?
- 26. C++でtext g ++やgccコンパイラの状態を保存するにはどうしたらいいですか?
- 27. Javaで依存関係のあるWebページをダウンロードするにはどうすればよいですか?
- 28. ローカルに保存されたHtmlログインページからユーザーがWebアプリケーションにアクセスできないようにするにはどうすればよいですか?
- 29. テーブルビューの状態を保存する/テーブルビューのテキストの状態を保存する
- 30. どのようにキャンバスの状態をdbに保存しますか?
メッセージを保存するMBeanを作成する方法はありますか?別のオプションは、共通領域のファイルに保存することです。 – CoolBeans
ユーザーあたりのメッセージ?みんなのために、ただ一つのメッセージですか? – Joel
@Joel - メッセージは1つだけです。 @CoolBeans - MBeanは、リブートの間にまだどこかに保持する必要があります。 – jabbie