5

私は、ソーシャル ネットワーク ベースのアプリケーションを開発するためのテクノロジ スタックを評価してきました。以下は、このアプリケーション タイプのアプリケーションに適していると思われるスタックです。

GUI -- ASP.NET MVC、Flash (Flex)

ビジネス サービス-- Thrift ベースのサービスThriftを使用する利点の 1 つは、将来ユーザー ベースが急速に増加したときに発生するスケーリングの問題を解決できることです。すべてのビジネス ロジックは、REST、JSON などを使用してサービスとして公開できます。これにより、状況に応じて C++ または Erlang ベースのサービスを使用することもできます。

データベース-- mySQL、CasSandara mySQL は、永続化が必要なデータの保存に使用できます。Cassandara は、永続化されたデータにグローバル識別子を格納するために使用されます。Cassandara は、より多くのノードを導入することによるスケーリングにも非常に優れているため、Thrift ベースのサービスも活用します。また、Cassandara と Thrift の間のネイティブ サポートもあります。

キャッシュ サーバー-- Memcached

ビジネス サービスからの要求は、ダーティでないデータが必要な場合にのみ Memcached と通信します。それ以外の場合は、データベースからのキャッシュを無効にするバックグラウンド ジョブがいくつか発生します。

質問は:

  1. オープンソースのThriftは本番環境に対応していますか?
  2. アプリケーション (GUI) が主に ASP.NET で開発され、DB が mysql である場合、サービス層が選択するのは正しいスタックですか?
  3. ここで誰もが経験した他の警告はありますか?

このスタックの背後にある主な目的の 1 つは、より多くのノードで簡単にスケールアップすることです。これは、Linux ボックスを使用するのにも役立ちます。これにより、コストが大幅に削減されます。

考えてください..

4

1 に答える 1

6

データモデルの詳細は提供しませんが、Facebook、Twitter、Digg、Redditに似たようなことをしようとしている場合は、Cassandraが適しています。これらの企業はすべてCassandraを使用しているからです。

Cassandraの利点の1つは、個別のキャッシングレイヤーを必要としないことです。Cassandraの組み込みのキーキャッシュと行キャッシュ、およびスケーリングするマシンを追加するだけの機能により、memcachedが不要になります。

于 2010-03-21T23:23:31.777 に答える