我一直在评估用于开发基于社交网络的应用程序的技术堆栈。下面是我认为非常适合这种应用程序类型的应用程序:
GUI - ASP.NET MVC,Flash(Flex)
商业服务 - 基于节俭的服务 使用Thrift的一个优点是解决当用户群快速增加时将来会出现的扩展问题。所有业务逻辑都可以使用REST,JSON等作为服务公开。这也允许我们在情况需要时使用基于C ++或Erlang的服务。
数据库 - mySQL,CasSandara mySQL可用于存储需要持久化的数据。 Cassandara将用于存储持久化数据的全局标识符。由于Cassandara通过引入更多节点也非常擅长扩展,因此这也将利用基于Thrift的服务。而且Cassandara和Thrift之间也存在原生支持
缓存服务器 - Memcached
如果需要任何非脏数据,来自Business Services的任何请求都只会与Memcached通信,否则会有一些后台作业会使数据库中的缓存无效。
问题是:
此堆栈背后的主要目标之一是轻松扩展更多节点,这也有助于我们使用Linux机箱,这将显着降低我们的成本
请想......
答案 0 :(得分:6)
您没有提供有关您的数据模型的详细信息,但如果您尝试执行类似于facebook,twitter,digg或reddit的操作,那么Cassandra应该是合适的,因为您知道这些公司都在使用Cassandra
Cassandra的一个优点是你不需要一个单独的缓存层:Cassandra的内置键和行缓存,以及只需添加机器来扩展的能力,使memcached成为不必要的。