1. 主页 > 网络营销 >

经验分享:资深架构师教你什么是网络应用架构?

导读:本文作者基于其公司 (StoryBlock) 的实际业务架构向我们分享了一节活跃具体的网络架构入门课,固然作者的预期阅读工具是前端开拓人员,可是也很是适合产物司理阅读和进修,尤其是已经有必然事情履历的产物司理,但愿对各人有用。

履历分享:资深架构师教你什么是网络应用架构?

01 从一个场景开始

履历分享:资深架构师教你什么是网络应用架构?

以上的架构图是对 Storyblocks 业务架构的一个很好的归纳综合。对付那些相对缺乏履历的 web 开拓者,或者你会以为这个架构有些巨大。不要紧,在讲授相关组件的详细业务细节之前,我们先举个例子,帮你更容易地领略 Storyblocks 的业务架构。

先从一个场景开始:用户用谷歌搜索 「瑰丽的浓雾和林间的阳光」 。首个功效正好出自 Storyblocks:一个知名的图片和矢量图资源网站,用户点击该条功效,欣赏器重定向到该图片的地址的详情页面。

这个场景背后,用户欣赏器向 DNS 处事器发送请求,查询 Storyblocks 的域名信息,然后发送会见请求。会见请求首先颠末负载平衡器,负载平衡器会从十多台运行网站处事的网络处事器选择任意一台,将请求发送到这台处事器举办处理惩罚,网络处事器先从缓存处事器查询图片的详情信息,然后从数据库获取图片的其他相关信息。

我们留意到这张图片的色彩设置信息还没被计较出来,于是处事器将一个新的色彩设置任务推送到任务行列,我们的任务行列处事器将异步地处理惩罚图片的色彩设置信息计较,一旦计较完成,便将设置信息更新到数据库中。

下一步,处事器将图片标题作为要害词,向全文检索处事发送查询请求以寻找相似图片。此时用户登入他的 Storyblocks 账户,相应地,处事器从账户处事中获取用户账户信息。

接下来,我们将这个页面欣赏事件加载到 data firehose(AWS 推出的流数据装载处事) 以记录到云存储系统,并最终存储到数据客栈,便于阐明师阐明利用并辅佐解答业务问题。

处事端将视图泛起为为 HTML 页面并经过负载平衡器,返回用户的欣赏器客户端。这个页面同时包括存储在云存储系统的 Javascript 和 CSS 代码文件,云处事器直接毗连到 CDN 集群,内容也经过 CDN 分发,用户欣赏器会见 CDN 集群并获取内容。

最终,欣赏器渲染页面利用户可以欣赏阅读。

接下来,我将带你遍历每个组件,并做扼要说明和先容,辅佐你形成一个相瞄精确的观念模子,以便于领略网络架构和组件间的交互。我仍将遵循已经分享的文章中给出的一些实践发起,这些发起基于我在 Stroyblocks 的业务履历,具有必然参考代价。

02 网络架构诸组件 1. DNS 处事

履历分享:资深架构师教你什么是网络应用架构?

DNS (Domain Name System)代表 「域名系统」,这是实现互联网彼此毗连的焦点技能。DNS提供从域名 (譬喻 google.com) 到 IP 地点 (85.129.83.120) 的最底层的键值对查询处事,事实上,计较机基于网站的 IP 地点路由到符合的处事器。用电话号码比喻的话:域名和 IP 地点的干系,雷同于接洽人姓名和号码的干系。

正如你需要通过电话簿来查询特定接洽人的电话号码,你同样需要通过 DNS 来查询指定域名的 IP 地点,所以你完全可以把 DNS 领略为互联网的电话号码簿。

我们今后会深入先容关于 DNS 的具体道理,此刻进入下一个话题。

2. 负载平衡

履历分享:资深架构师教你什么是网络应用架构?

在深入先容负载平衡之前,我们需要先行表明应用架构的程度拓展和垂直拓展。

你必定会好奇这两个观念的寄义和区别:简朴来说,程度拓展是指你向资源池增加更多呆板设备,而垂直拓展则意味着增加更多算力资源(CPU,内存)到现有呆板设备。对付 Web 开拓,程度拓展经常是最好的选择。

究竟,所有事物都大概间断,处事器有时瓦解,网络会降速,甚至整个数据中心也会偶然断线。假如要防备堕落,除了保持简朴,我们别无选择。利用处事器集群可以帮你有效应对突发环境,加强业务的结实性和容错性,确保应用一连不变地运行。

其次,程度拓展答允你将后端处事 (网络处事器,数据库,应用处事) 的差异组件分派在差异处事器,借此你可以高效地挪用后端处事的差异组件。

最后,垂直拓展很容易碰着局限瓶颈,谷歌的搜索处事平台是一个相当典范的案例,这个场景也同时合用于 Storyblocks 这样的中小型公司,举例来说,我们在任意时刻都运行着 150 到 400 个 AWS EC2 实例,假如要通过垂直拓展模式提供同等算力,很难想象我们需要利用何种级别和局限的计较机设备(预计得利用超算了)。

本文由摸索网(http://www.lnmosuo.com)发布,不代表摸索网立场,转载联系作者并注明出处:

联系我们

工作日:9:30-18:30,节假日休息