社交媒体应用的最佳架构

时间:2010-03-08 00:41:58

标签: java architecture web-applications cassandra social

我正致力于为网络和移动开发新社交媒体应用的有前途的项目。我们刚刚开始定义功能。不过,我正在考虑建筑问题。所以我问:

1 - 什么是开发具有Rest API接口的应用程序核心的最佳平台。

2 - 什么是最适合我的应用程序扩展和扩展的数据库。

据我研究,这些是我发现最有趣的答案:

对于数据库: Cassandra NoSQL DB,惊人的可扩展性,惊人的写入性能,良好的读取性能(将在0.6上得到改进)。我想我会选择那个。

Zoochaer用于Cassandra上的交易。

我认为这两项技术对于这个建议真的很好。你觉得怎么样?

在前端它将提供REST API,我没有最终候选人。对于这个,我有基于Performance X Scalability X Fast Development / Maintenance的问题。

Java或.Net据我研究过,可以最大限度地平衡这些必需品。

Python,Pearl和Rail,拥有最好的(快速开发/维护),但是其他所有的都是。

C或C ++我甚至不考虑,因为它(快速开发/维护)sux ......

那你们怎么想呢?

6 个答案:

答案 0 :(得分:2)

在数据库方面查看neo4j。它非常适合社交网络的所有要求。它实际上是一个网络数据库。

答案 1 :(得分:1)

您应该查看适用于社交媒体的10Duke SDK http://developer.10duke.com/

它具有高度可扩展性,独立于操作系统和数据库,因此您可以轻松配置环境以满足您的需求。 SDK包含大量类,以支持构建社交应用程序所需的大多数对象模型。已经完成了很多繁重的编码工作,这将节省大量的开发时间。

答案 2 :(得分:0)

另见memcached。它是一个高性能和分布式缓存系统,绝对符合您的要求。

答案 3 :(得分:0)

我从Rails开始,因为它有一个活跃的社区,大量的创新,出色的REST支持,而这正是我最熟悉的事情。我认为性能/可伸缩性问题已经在很大程度上被揭穿了......调整和扩展Rails应用程序需要与任何其他系统相同的解决方案 - 假设您有幸需要到处理扩展问题。

就数据存储而言,我对项目或您尝试解决的任何问题都不了解。

答案 4 :(得分:0)

jbellis:是的,这是真的。

现在我正在寻找Django和Cassandra整合,我相信它很好的平台,但是Django团队支持noSql DB没有任何官方支持甚至是pespective。

我觉得有趣的另一个选择是使用cassandra和RoR以及由Twitter团队开发的Fauna客户端。

答案 5 :(得分:0)

您可以从本地电话端的Socialize中提取一些功能。 (SDK是开源的。)