Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 如何为全球应用程序设计后端体系结构_Architecture_Backend - Fatal编程技术网

Architecture 如何为全球应用程序设计后端体系结构

Architecture 如何为全球应用程序设计后端体系结构,architecture,backend,Architecture,Backend,我在一次采访中被问到这个问题。面试官让我为一个全球应用程序(如Yelp)设计后端架构,并问我需要使用哪些技术 在面试时间段(这个问题预计需要5到10分钟左右),我需要给出什么答案(或我需要考虑的方面)?它们可以推广到类似应用的体系结构设计中吗?我找到了一个答案,但这对于面试问题的答案来说太多了,而且对应用程序来说太具体了。我想这取决于“全球应用程序”的含义。它可能意味着“很多人使用的应用程序”,也可能意味着“在许多不同国家拥有用户的应用程序”如果你正在面试一份系统架构师或系统工程师的工作,我想前

我在一次采访中被问到这个问题。面试官让我为一个全球应用程序(如Yelp)设计后端架构,并问我需要使用哪些技术


在面试时间段(这个问题预计需要5到10分钟左右),我需要给出什么答案(或我需要考虑的方面)?它们可以推广到类似应用的体系结构设计中吗?我找到了一个答案,但这对于面试问题的答案来说太多了,而且对应用程序来说太具体了。

我想这取决于“全球应用程序”的含义。它可能意味着“很多人使用的应用程序”,也可能意味着“在许多不同国家拥有用户的应用程序”如果你正在面试一份系统架构师或系统工程师的工作,我想前者可能是你想要的;如果你在面试一个程序员的职位,可能是后者

对于前者,他们正在寻找健壮性和可伸缩性类型的答案:跨多个web和db服务器的负载平衡;包过滤和流量监控等


对于后者,他们可能在寻找可用性和不同的界面类型的答案:语言本地化技术、用于处理不同格式的地址和电话号码的db模型等等。

你是对的,这是一个非常广泛的面试问题,或者一个广泛的答案可以让你感觉到自己的可扩展性,可用性等。技能或面试官想看看你在没有细节的情况下如何解决问题。在这种情况下,对这样一个问题的好答案是关于系统的问题,主要是关于非功能性需求的问题。在做出体系结构决策之前,了解系统的所有细节是非常重要的,因此,如果您开始提问,这意味着您知道如何处理此类任务。

谢谢您的回答。请您详细说明我需要问哪些问题(或从哪些方面、方向)才能缩小问题范围?在技术方面,您应该询问许可限制、预算、团队能力、可扩展性和可用性要求。有些工具/产品可能成本过高,有些不支持垂直和水平可伸缩性,有些不支持事务。如果我们讨论解决方案设计,您应该主要询问功能需求,例如,如果要存储的数据不是结构化的,并且没有sctrict格式,您可能会使用NoSQL,或者如果您需要跟踪系统中的每个事件,您可能希望实现事件源等等。