Thrift,.NET,Cassandra - 这是正确的组合吗?

时间:2010-03-20 11:00:00

标签: .net architecture cassandra thrift

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

GUI - ASP.NET MVC,Flash(Flex)

商业服务 - 基于节俭的服务 使用Thrift的一个优点是解决当用户群快速增加时将来会出现的扩展问题。所有业务逻辑都可以使用REST,JSON等作为服务公开。这也允许我们在情况需要时使用基于C ++或Erlang的服务。

数据库 - mySQL,CasSandara mySQL可用于存储需要持久化的数据。 Cassandara将用于存储持久化数据的全局标识符。由于Cassandara通过引入更多节点也非常擅长扩展,因此这也将利用基于Thrift的服务。而且Cassandara和Thrift之间也存在原生支持

缓存服务器 - Memcached

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

问题是:

  1. 开源的Thrift是生产就绪的吗?
  2. 当应用程序(GUI)主要在ASP.NET中开发并且数据库是mysql时,它是否适合选择服务层?
  3. 这里有人有任何其他警告吗?
  4. 此堆栈背后的主要目标之一是轻松扩展更多节点,这也有助于我们使用Linux机箱,这将显着降低我们的成本

    请想......

1 个答案:

答案 0 :(得分:6)

您没有提供有关您的数据模型的详细信息,但如果您尝试执行类似于facebook,twitter,digg或reddit的操作,那么Cassandra应该是合适的,因为您知道这些公司都在使用Cassandra

Cassandra的一个优点是你不需要一个单独的缓存层:Cassandra的内置键和行缓存,以及只需添加机器来扩展的能力,使memcached成为不必要的。