java 架构——这个社交网络/视频编辑网站的想法要使用哪些技术栈和插件?
Posted
技术标签:
【中文标题】java 架构——这个社交网络/视频编辑网站的想法要使用哪些技术栈和插件?【英文标题】:java architecture - which technology stack and plugins to use for this social networking / video editing site idea? 【发布时间】:2011-07-07 20:16:16 【问题描述】:简明扼要:
这家初创公司正在开发一个专门用于视频编辑的社交网站。 (因此,最大的技术挑战之一是移动、上传和下载或大于 2Gb 的大文件)。制作人决定使用 Java,他的开发人员推荐 Liferay 作为构建它的框架。现在,当我加入时,我提倡使用 Spring 和 Grails,但实际上我不确定使用哪些确切的技术堆栈和插件来开发这个应用程序。我希望你能帮助我。要求如下:
能够处理大文件上传/下载 社交网络:一个项目有很多合作者,一个人参与了很多项目,一个项目归项目经理所有,有状态更新和like
按钮以及对视频和照片的评论。
消息:像电子邮件一样的消息和像聊天这样的消息
项目管理(拥有人员和原始视频文件,最终得到一部有市场的电影)
某种形式的版本控制(但应该使用哪个存储库?jackrabbit?svn?文件系统?自定义的东西?)
因此您会看到一些问题:我们正在重新发明***(版本控制、项目管理、电子邮件、社交网络)。但我在这里要问的问题是:我们应该在哪些 Java 技术上构建它? Liferay 是一个不错的选择吗?那么 Spring+Grails 呢?还有其他想法吗?
感谢您的意见!
【问题讨论】:
尽可能远离portlet。我不知道liferay 是否支持其他任何东西,但我已经将它用作门户容器并且完全没有留下深刻印象。只是很多不必要的复杂性。 【参考方案1】:消息:消息,如电子邮件,以及 像聊天一样的消息传递
我建议您使用 redis,因为它速度极快。 Jedis 是最流行的java redis 客户端。
某种形式的版本控制
我建议您使用git 和github 来托管您的项目。 Github 会花你一些钱,但 github 确实是最好的。
【讨论】:
某种形式的版本控制是针对用户的,而不是针对开发人员的。例如:一个视频编辑项目,有 10 个协作者,100 个文件,其中 20 个文件超过 2Gb。他们想要跟踪他们的项目文件的修订。在 Java 中有 jackrabbit,但也有普通的 SVN(itd be outside our Java webapp, I set forth the idea that we
d 完全在 webapp 之外进行文件和版本管理)。或者我们可以通过将旧文件复制到服务器文件系统上的新位置并将指向该旧文件的指针存储在关系数据库中来拥有自己的版本控制。以上是关于java 架构——这个社交网络/视频编辑网站的想法要使用哪些技术栈和插件?的主要内容,如果未能解决你的问题,请参考以下文章