2011-01-19 5 views
3

- 大きなサイズのウェブappliactionWebアプリケーションアーキテクチャの質問

  • ほとんどCRUD操作

誰かがアイデアを持っていた準備ができ

  • イントラネット/インターネットを報告アプリケーションを2つの別個のソリューションに分割する

    1. ASP.NET Webアプリケーション - フロントエンド
    2. コアアプリケーション - データアクセス、ドメインロジックが... Windowsサービスでホストされている

    通信はWCFで実現されるだろう(TCP、名前付きパイプ)

    Iこのソリューションの短所と短所は何か疑問に思っていますか?

    ほとんどの場合、私は開発プロセスが複雑になることを心配しています。このすべての通信はWCF経由です。

    あなたはいくつかのことを共有してもらえますか、それと似たようなプロジェクトの経験がありますか?

  • +0

    中/大を定義してください。予想されるトラフィックは何ですか?レイヤーを持つことでロジックが分離され、たとえばレイヤーを追加するのが容易になります。後で新しいレイヤーとしてキャッシュする。 –

    +0

    100人の同意ユーザーから始めましょう。しかし、成長の可能性があります... – user137348

    +1

    あなたはこれを見ているかもしれない、同様のトピックhttp://stackoverflow.com/questions/527052/asp-net-web-application-architecture-design-advice –

    答えて

    1

    これを見る方法の1つですが、アプリケーションを「標準的な」n層形式でコーディングすると、Webフロントエンドがバックエンドの具体的なクラスに頼らないようにすることができます。必要に応じてこれを後で入れてください。しかし、これを正面から行うと、システムに複雑さが増します。

    ロードバランサを使用してアプリケーションをWebファームに配置する方法もあります。これにより、コードの複雑さが軽減され、必要に応じてスケールアウトできます。

    (100人の同時ユーザーが実際にはそれほど大きくないことにも注意してください)。

    +0

    ウェブファームのものに特化しているのでしょうか? – user137348

    +0

    OK、スケーリングのために、通常のようにn層アプリケーションをコード化します。データベースは別のサーバーにあります。負荷が実際に増加する場合は、ロードバランサの背後に多数のWebアプリケーションサーバーを持つWebファームにサイトを配置します。これにより、簡単なコードを維持しながらサイトを簡単に拡張できます。 – Paddy

    +0

    この場合、セッション(この場合はInProcセッションは問題ありません)と別のライトでのキャッシュなどを考慮する必要がありますが、これはすべて実行可能です。 – Paddy

    関連する問題