いくつかのビジネスエンティティにサービスを提供するサービスを設計しています。論理的には、次の 2 つの部分に分割されます。
- フロントエンド - Wiki、価格設定、ランディング ページ、場合によってはアカウント情報 (請求、アカウント ステータスなど) などの付属品。
- ビジネスエンティティの雇用者が自分の仕事をするサービス自体。
play 2.x フレームワークで、heroku でホストする予定です。インスタンスと DB のものを分解する方法は今のところ明確ではありません。
クライアントの DB を分解する必要があります: ビジネス エンティティ - 1 つのデータベース? または、すべてのデータを 1 つのデータベースに保存する必要がありますが、行を所有するビジネス エンティティのすべてのテーブル ID を追加する必要がありますか? この決定により、どのような問題 (パフォーマンス、管理、スケーリング) が発生する可能性がありますか?
データベースを分割する場合、どのようにすればよいですか? そのためには、インスタンスが属するクライアントの DB を使用してアプリ インスタンスを起動する必要があります。したがって、スケーリングの障害になる可能性のある不均一なインスタンスがあります。私が知っているように、heroku は不均一な (Web) インスタンスをサポートしていません。
助けてください、私はここで完全に立ち往生しています。
期待されるスタック:
- スカラ
- プレイ2.0
- アノーム
- JDBC
- PostgreSQL
- ヘロク
これはすべて (Scala を除き、Play 2.0 の場合もあります) 交換可能です。