Thrift、.NET、Cassandra - 这是正确的组合吗?
-
21-09-2019 - |
题
我一直在评估用于开发基于社交网络的应用程序的技术堆栈。以下是我认为非常适合此应用程序类型的应用程序的堆栈:
图形用户界面 -- ASP.NET MVC、Flash (Flex)
商业服务 - 基于节俭的服务使用 节约 是为了解决未来用户群快速增长时会出现的扩展问题。所有业务逻辑都可以使用 REST、JSON 等公开为服务,这也允许我们在情况需要时使用基于 C++ 或 Erlang 的服务。
数据库 -- mysql, 卡斯桑德拉mySQL可用于存储需要持久化的数据。Cassandara 将用于将全局标识符存储到持久数据中。由于 Cassandara 也非常擅长通过引入更多节点进行扩展,这也将利用基于 Thrift 的服务。Cassandara 和 Thrift 之间也有原生支持
缓存服务器 -- 内存缓存
来自业务服务的任何请求仅在需要任何非脏数据时才会与 Memcached 通信,否则将会有一些后台作业使数据库中的缓存失效。
问题是:
- 开源的 Thrift 是否已做好生产准备?
- 当应用程序(GUI)主要在 ASP.NET 中开发并且数据库是 mysql 时,服务层选择正确的堆栈吗?
- 这里的人还经历过其他任何警告吗?
该堆栈背后的主要目标之一是轻松扩展更多节点,这也有助于我们使用 Linux 盒子,它将显着降低我们的成本
请思考..
解决方案
您没有提供有关数据模型的详细信息,但如果您尝试执行类似于 facebook、twitter、digg 或 reddit 的操作,Cassandra 应该是一个不错的选择,因为您知道这些公司都在使用 Cassandra。
Cassandra 的优点之一是您不需要单独的缓存层:Cassandra 的内置键和行缓存,以及仅添加机器即可扩展的能力,使得 memcached 变得不必要。
不隶属于 StackOverflow