我正在尝试建立一个社交媒体网站,但我需要一个高级工程师/架构师的手来指导和协助我的服务器端开发,因为我是一个新手。
我熟悉的技术包括Java、JAX、Spring和Hibernate。不幸的是,我不知道一个工程师/架构师除了上面提到的技能之外,还应该具备哪些其他技术技能呢?
我正在尝试构建的SNS就像Facebook,它可以在功能和功能方面为您提供指导。
发布于 2011-05-04 09:42:03
从一个托管在云提供商(IAAS )上的小型原型开始(如果您对您的系统管理员技能有信心,那么您可以使用PAAS提供商)。拥有大量的用户是一个不错的问题,但不要过早优化,你可能会感到惊讶,你的规模疼痛点在哪里,它们不在哪里。
如果您使用的是Java堆栈,我建议您使用JMeter和一些BDD/ATDD风格的测试来验证概念,看看标度的痛点可能在哪里。
在您的技术选择上,我会更灵活一些,您将自己限制在您目前所知道的范围内(相信我,Hibernate或任何其他ORM都会在很大程度上减缓您的速度)。这是马匹的课程和你上面列出的一些可能不适合在未来的道路上。
您需要一位熟悉分布式和消息传递架构的工程师,他也了解多线程/并发开发编程范例。听起来你还需要一个工程师,他能理解web协议,以及如何设计一个基于web的解决方案,在客户端和服务器之间保持良好的平衡。
这些类型的工程师很难找到(你只需要看看谷歌( Google )等人在招聘上的竞争)。所以你可能会发现你需要自己去学习很多这方面的知识,但这都是乐趣的一部分!:D
发布于 2011-05-04 09:39:21
让我用最简单的方式说:
想想接吻和雅格尼。当你开始提供比你现在的系统所能维持的更多的服务时,这是你重新调整规模的时候,而不是以前。
发布于 2011-05-04 13:16:02
为了扮演魔鬼的提倡者,并表达我和其他人可能对其他一些问题的担忧,我想说:
”之前不要太多
当一个网站开始的时候,重要的是用户不会因为严重的技术故障而经历任何负面的体验。最初的1000个用户可能是最难得到的,但如果你的网站连续几天(特别是社交网站),你会以惊人的速度让用户流血。失败并不是一种选择。话虽如此,减速之类的东西并不是死刑,所以我想说,用你一开始最熟悉的技术来制造最好的东西,但是当你看到事情开始加速的时候,积极地寻找一个真正对这类事情有经验的工程师。使用他们所选择的任何技术,并尽可能地学习它。如果事情真的爆发了,你可能不会写大量的代码了。
https://softwareengineering.stackexchange.com/questions/73544
复制相似问题