首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工程师应该具备什么样的技能来建立一个大型的社交网站?

工程师应该具备什么样的技能来建立一个大型的社交网站?
EN

Software Engineering用户
提问于 2011-05-04 08:08:49
回答 3查看 1.3K关注 0票数 6

我正在尝试建立一个社交媒体网站,但我需要一个高级工程师/架构师的手来指导和协助我的服务器端开发,因为我是一个新手。

我熟悉的技术包括Java、JAX、Spring和Hibernate。不幸的是,我不知道一个工程师/架构师除了上面提到的技能之外,还应该具备哪些其他技术技能呢?

我正在尝试构建的SNS就像Facebook,它可以在功能和功能方面为您提供指导。

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2011-05-04 09:42:03

从一个托管在云提供商(IAAS )上的小型原型开始(如果您对您的系统管理员技能有信心,那么您可以使用PAAS提供商)。拥有大量的用户是一个不错的问题,但不要过早优化,你可能会感到惊讶,你的规模疼痛点在哪里,它们不在哪里。

如果您使用的是Java堆栈,我建议您使用JMeter和一些BDD/ATDD风格的测试来验证概念,看看标度的痛点可能在哪里。

在您的技术选择上,我会更灵活一些,您将自己限制在您目前所知道的范围内(相信我,Hibernate或任何其他ORM都会在很大程度上减缓您的速度)。这是马匹的课程和你上面列出的一些可能不适合在未来的道路上。

您需要一位熟悉分布式和消息传递架构的工程师,他也了解多线程/并发开发编程范例。听起来你还需要一个工程师,他能理解web协议,以及如何设计一个基于web的解决方案,在客户端和服务器之间保持良好的平衡。

这些类型的工程师很难找到(你只需要看看谷歌( Google )等人在招聘上的竞争)。所以你可能会发现你需要自己去学习很多这方面的知识,但这都是乐趣的一部分!:D

票数 6
EN

Software Engineering用户

发布于 2011-05-04 09:39:21

让我用最简单的方式说:

“不要缩放,直到你失败”

想想接吻雅格尼。当你开始提供比你现在的系统所能维持的更多的服务时,这是你重新调整规模的时候,而不是以前。

票数 3
EN

Software Engineering用户

发布于 2011-05-04 13:16:02

为了扮演魔鬼的提倡者,并表达我和其他人可能对其他一些问题的担忧,我想说:

“在您失败之前进行缩放,

...but在“

”之前不要太多

当一个网站开始的时候,重要的是用户不会因为严重的技术故障而经历任何负面的体验。最初的1000个用户可能是最难得到的,但如果你的网站连续几天(特别是社交网站),你会以惊人的速度让用户流血。失败并不是一种选择。话虽如此,减速之类的东西并不是死刑,所以我想说,用你一开始最熟悉的技术来制造最好的东西,但是当你看到事情开始加速的时候,积极地寻找一个真正对这类事情有经验的工程师。使用他们所选择的任何技术,并尽可能地学习它。如果事情真的爆发了,你可能不会写大量的代码了。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/73544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档