问题描述
如果你要那么现在重新实现,你会用什么技术?你会用什么样的技术,如果你被限制Java技术。
If you were going to reimplement SO now, what technologies would you use? What technologies would you use if you were restricted to Java technologies.
推荐答案
和这里是我写的答案。
这是一个有趣的问题,因为有在Web应用程序的一个非常传统的方式居然架构,但不与通常的Web应用程序共享许多特点。在特别地,它必须是高度可扩展的,但是业务规则和数据存储要求不复杂的
This is an interesting question, because SO is actually architected in a very conventional way for web applications, but doesn't share a lot of characteristics with the usual web application. in particularly, it needs to be highly scaleable, but the business rules and data storage requirements are not complex.
因此,使用现在的技术,我会使用
So, using today's technology, I'd use
-
传统的javascript; SO使用jQuery,我不会有事的。
conventional javascript; SO uses jquery, that'd be fine.
我会使用像独角兽面向workpool的Web应用程序,方便的可扩展性。
I'd use a workpool-oriented web application like Unicorn for easy scalability.
我会使用Hadoop和Cassandra的存储问题和意见。
I'd use Hadoop and Cassandra to store questions and comments.
我使用跨数据库马preduce实现得分和排名规则。
I'd implement the scoring and ranking rules using MapReduce across the database.
便利,大多数的这些都可以从Java,但我想preFER一种脚本语言如Ruby或Python。
Conveniently, most of these are available from Java, although I'd prefer a scripting language like Ruby or Python.
我就避免了通常基于Java EE的世界。在我看来 - 我是Java EE的在太阳非常早期的用户 - 这是techno.logy overheavy。我也想避免基于Windows的服务器;他们是难以管理和相对昂贵。 (我可以建立大约相同的价格作为操作系统的许可证服务器硬件。)
I would avoid the usual Java EE based world. In my opinion -- and I was a very early user of Java EE at Sun -- that techno.logy is overheavy. I'd also avoid Windows-based servers; they're hard to manage and comparatively expensive. (I can build the server hardware for about the same price as the OS license.)
这篇关于建议技术重新实现stackoverflow.com的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!