5

我一直在评估用于开发基于社交网络的应用程序的技术堆栈。以下是我认为非常适合这种应用程序类型的应用程序的堆栈:

图形用户界面——ASP.NET MVC、Flash (Flex)

业务服务——基于 Thrift 的服务 使用Thrift的优势之一是可以解决将来用户群迅速增加时会出现的扩展问题。所有业务逻辑都可以使用 REST、JSON 等公开为服务,这也允许我们在需要时使用基于 C++ 或 Erlang 的服务。

数据库——mySQL 、CasSandara mySQL 可用于存储需要持久化的数据。Cassandara 将用于将全局标识符存储到持久化数据中。由于 Cassandara 也非常擅长通过引入更多节点来进行扩展,这也将利用基于 Thrift 的服务。Cassandara 和 Thrift 之间也有原生支持

缓存服务器——Memcached

如果需要任何非脏数据,来自业务服务的任何请求都只会与 Memcached 对话,否则会有一些后台作业会使数据库中的缓存无效。

问题是:

  1. 开源的 Thrift 是否可以投入生产?
  2. 当应用程序(GUI)主要是在 ASP.NET 中开发而 DB 是 mysql 时,服务层选择的堆栈是否正确?
  3. 这里的任何人都经历过其他警告吗?

这个堆栈背后的主要目标之一是轻松扩展更多节点,这也有助于我们使用 Linux 机器,它将显着降低我们的成本

请思想..

4

1 回答 1

6

您没有提供有关您的数据模型的详细信息,但如果您尝试做一些类似于 facebook、twitter、digg 或 reddit 的事情,Cassandra 应该是一个不错的选择,因为您知道这些公司都在使用 Cassandra。

Cassandra 的优点之一是您不需要单独的缓存层:Cassandra 的内置键和行缓存,以及仅添加机器以进行扩展的能力,使 memcached 变得不必要。

于 2010-03-21T23:23:31.777 回答