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

标签 .net architecture cassandra thrift

我一直在评估用于开发基于社交网络的应用程序的技术堆栈。以下是我认为非常适合这种应用程序类型的堆栈:
界面 -- ASP.NET MVC, Flash (Flex)
商务服务 -- 基于节俭的服务
使用 Thrift 的优势之一是为了解决 future 用户群快速增长时会出现的扩展问题。所有业务逻辑都可以使用 REST、JSON 等作为服务公开,这也允许我们在情况需要时使用基于 C++ 或 Erlang 的服务。
数据库 -- mySQL, CasSandara
mySQL 可用于存储需要持久化的数据。 Cassandara 将用于存储持久化数据的全局标识符。由于 Cassandara 也非常擅长通过引入更多节点来扩展,这也将利用基于 Thrift 的服务。而且 Cassandara 和 Thrift 之间也有原生支持
缓存服务器 -- 内存缓存
如果需要任何非脏数据,来自业务服务的任何请求只会与 Memcached 对话,否则会有一些后台作业会使数据库中的缓存无效。
问题是:

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

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

    最佳答案

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

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

    关于.net - Thrift、.NET、Cassandra - 这是正确的组合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2482751/

    相关文章:

    c# - Simple Injector 条件注入(inject)

    .net - Contract.Requires 和装饰者模式。如何避免过度检查条件?

    asp.net-mvc - ASP.NET MVC 是否允许私有(private) ViewModel 构造函数?

    nosql - Cassandra CLI : Convert hex values into a human-readable format

    java - 使用适用于 Cassandra 的 Apache Spark Java 连接器(使用键列)从 Cassandra DB 中删除行

    c# - CultureInfo 和 ISO 639-3

    .net - Nunit Gui 测试结构中的分组方法

    go - 应用程序的邮件系统之类的东西是否应该像本例所示那样在单独的 channel 中运行?

    android - 支持和反对 Android SQLite 使用的论点

    javascript - 如何使用 node.js 关闭与 cassandra 的连接