私は、ソーシャル ネットワーク ベースのアプリケーションを開発するためのテクノロジ スタックを評価してきました。以下は、このアプリケーション タイプのアプリケーションに適していると思われるスタックです。
GUI -- ASP.NET MVC、Flash (Flex)
ビジネス サービス-- Thrift ベースのサービスThriftを使用する利点の 1 つは、将来ユーザー ベースが急速に増加したときに発生するスケーリングの問題を解決できることです。すべてのビジネス ロジックは、REST、JSON などを使用してサービスとして公開できます。これにより、状況に応じて C++ または Erlang ベースのサービスを使用することもできます。
データベース-- mySQL、CasSandara mySQL は、永続化が必要なデータの保存に使用できます。Cassandara は、永続化されたデータにグローバル識別子を格納するために使用されます。Cassandara は、より多くのノードを導入することによるスケーリングにも非常に優れているため、Thrift ベースのサービスも活用します。また、Cassandara と Thrift の間のネイティブ サポートもあります。
キャッシュ サーバー-- Memcached
ビジネス サービスからの要求は、ダーティでないデータが必要な場合にのみ Memcached と通信します。それ以外の場合は、データベースからのキャッシュを無効にするバックグラウンド ジョブがいくつか発生します。
質問は:
- オープンソースのThriftは本番環境に対応していますか?
- アプリケーション (GUI) が主に ASP.NET で開発され、DB が mysql である場合、サービス層が選択するのは正しいスタックですか?
- ここで誰もが経験した他の警告はありますか?
このスタックの背後にある主な目的の 1 つは、より多くのノードで簡単にスケールアップすることです。これは、Linux ボックスを使用するのにも役立ちます。これにより、コストが大幅に削減されます。
考えてください..