如果您现在要重新实现SO,您会使用哪些技术?如果您仅限于Java技术,您会使用哪些技术。建议的重新实现技术stackoverflow.com
4
A
回答
6
这是我写的答案。
这是一个有趣的问题,因为SO实际上是以一种非常传统的方式为Web应用程序构建的,但与通常的Web应用程序并没有太多共同的特征。特别是它需要高度可扩展性,但业务规则和数据存储要求并不复杂。
因此,使用现在的技术,我会使用
传统的JavaScript; SO使用jquery,那很好。
我会使用像Unicorn这样的面向工作区的web应用程序,以便于扩展。
我会使用Hadoop和Cassandra来存储问题和评论。
我会在整个数据库中实现使用MapReduce的评分和排序规则。
方便的是,其中大部分可从Java获得,但我更喜欢使用Ruby或Python之类的脚本语言。
我会避免通常的基于Java EE的世界。在我看来 - 我是Sun的早期Java EE用户 - 那个techno.logy太过分了。我也会避开基于Windows的服务器;他们很难管理,而且相对昂贵。 (我可以用与OS许可证大致相同的价格构建服务器硬件。)
0
Scale OUT(缩放输出)而非缩放。
1
我没有坐在办公室角落的服务器机架:),把它放在云端。
BTW here是当前的架构
相关问题
- 1. 实现类推技术
- 2. IVR技术实现细节
- 3. 技术栈不同域之间实时聊天的建议
- 4. 关于哪种技术用于实时通知的建议
- 5. 自动建议技术和选项
- 6. 需要技术推荐/建议
- 7. 关于学习新技术的建议,第一年COOP
- 8. FSM状态的实现技术
- 9. 学习新技术的最佳实践
- 10. 标签建议箱库 - 就像Stackoverflow.com
- 11. 如何实现反应本地技术
- 12. IOS Notification实现设计技术
- 13. 推送服务器实现技术?
- 14. PCA面部识别,实现技术
- 15. 在Android中实现iBeacon技术
- 16. Spring如何实现该技术?今天
- 17. 在Android上实现推送技术
- 18. 如何在Tensorflow中实现新的池化技术?
- 19. 建议构建Web应用程序的技术
- 20. 请求新技术
- 21. C++技术新手
- 22. java中的最新技术
- 23. 新的Java技术JAXX
- 24. 技术来创建CFG的
- 25. rails和重构,vim用户特有的建议工具和技术?
- 26. 需要关于使用技术(WCF,Web服务等)的建议。
- 27. 数据访问层的库/技术建议所需
- 28. 关于Web服务或相关技术的建议
- 29. 需要关于选择聊天技术的建议
- 30. CRM4(ISV)插件许可技术方法的建议
的概述这是一个真正的问题,还是一个开放式的讨论? – Blender 2011-05-15 06:18:47
这当然是一个有潜在信息答案的问题。而且地狱里,互联网上的任何问题都可能是一个开放式的讨论。 – 2011-05-15 06:24:31
@Blender这真的是一个问题;一个有多个答案。但是这与大多数关于stackoverflow的问题没有什么不同,人们争论的是'正确'的代码方式。 – Jeff 2011-05-15 06:30:46