0

高度なスケーラビリティが必要なデータ ストアから JSON を返す REST ベースの Web サービスの実装を考え出す必要があります。このサービスは、定義済みのポーリング間隔で数十万のクライアント アプリ (C++) によってヒットされるため、主な設計要件は高いスケーラビリティです。

Webサービスとデータベースの技術スタックの提案を依頼されました。

当初、REST API には ASP.NET MVC 3、データベースには SQL Server 2008 を考えていました。しかし、クライアントはこれが十分に拡張可能かどうかを私たちに尋ねています。

私たちは Microsoft グループであるため、MS テクノロジに傾倒していますが、偏りなく、このシナリオに最適なものをいくつか提案したいと考えています。他のテクノロジー スタックが負荷とスケールを処理するのにより適している場合は、プロジェクトを自分たちで袋詰めするのではなく、それをクライアントに提示したいと考えています。

REST を実装するためのフレームワークや利用可能なテクノロジが非常に多いため、比較を行う方法がわかりません。また、データベースは単にデータ ストアとして使用されるため、リレーショナル データ モデルを使用する本当の理由がないため、NoSQL ベースのソリューションがスケーラビリティに役立つかどうかを把握しようとしていました。

上記の要件を処理するのに最適なテクノロジの選択について、何らかの提案がある団体はありますか?

4

1 に答える 1

4

成熟した Web テクノロジ (.net、java、php など) を使用して、スケーラブルな REST API を作成できます。アプリケーションがデータ集約型である場合、Web テクノロジよりもデータ ストアの方が重要であると言えます。

データ ストアを決定するには、まずアプリが読み取り集中型か書き込み集中型かを確認する必要があります。読み取りが集中する場合は、キャッシング ソリューション (EhCache、Memcache など) を備えた RDBMS が適しています。

書き込みが集中する場合は、何らかの書き込みシャーディングが必要になる場合があります。Cassandra/MongoDB などの NoSQL ソリューションを使用する方がよい場合があります。

ライセンス費用も考慮してください。SQL Server では、スケーラビリティ機能 (パーティション分割など) のほとんどがエンタープライズ機能です。MSSQL 2012 では、ライセンスは物理プロセッサごとではなく、論理コアごとです。これが問題になる場合は、MSSQL の代わりに MySQL を真剣に検討することをお勧めします。

于 2012-10-21T20:11:45.380 に答える