太狗血了,网站架构的本质居然是个时间管理问题

王二在一所大学混了 4 年,结果毕业后发现找不到好工作,看到签了 BAT 的舍友罗小四,王二默默的留下屈辱的泪水。为了不让自己给母校的求职率抹黑,王二只好去了一个小公司。

小公司只有2个人,老板给王二了一个服务器,于是王二把文件、数据库和程序全部塞到服务器里,然后甩开膀子干活了。

有朋友可能会问,王二为什么把文件、数据库和程序全部装到同一台服务器里?这样很不好找啊,为什么不能像垃圾一样分门别类?

其实我们可以用做产品的思维来看待王二的这个网站架构。比如我们想做个 App,可以先做个微信公众号,此为MVP ,目的是为了快速验证想法是否靠谱。当我们发现用户对公众号的内容非常感兴趣,而公众号已经无法满足用户的互相交流欲望,此时才决定搞 App。

网站架构同理,当一台服务器已经无法满足网站业务的时候,此时再把文件、数据库和程序拎出来,给它们单独找一个服务器。从三室的合租,变成一室的单身公寓,改善一下居住环境,这就是「应用和数据分离」。

这样找东西就方便多了,但并非一劳永逸。

继续上面的例子,在运营 App 的过程中,我们发现用户对某几类文章特别感兴趣,于是在 App 首页弄了个栏目叫「编辑推荐」,把有可能「火」起来的文章,主动呈现给用户,这样用户就不用费心费力的自己去找了。同样,当王二把应用和数据分离后,发现大部分用户都只会访问一部分数据,那么完全可以把这一部分数据丢到缓存里,这样可以给现有的服务器腾出更多的空间。

把数据丢到缓存里,那么缓存是个什么东西呢?

缓存分为本地缓存和远程缓存,它们都需要有个容器来装。本地缓存可以和应用程序一起,放在应用服务器里;而远程缓存则放在专门的分布式缓存服务器里。

如果经过了以上改造,服务器空间还是不够用,怎么办?

一个水池,只有一个排水口,要让水位下降的再快一点,可以多搞几个排水口。网站架构也一样,多搞几个应用服务器,类似并联的电路,完全可以解决交通拥挤堵塞的问题。「不患寡而患不均」,为了让这几个服务器都能认真干活,王二弄了个调度室,去平均分配它们的工作任务,这个调度室,就是复杂均衡调度服务器。

虽然缓存可以分担数据库服务器的压力,但缓存也会过期,所以数据库服务器还是得 24 小时待命,不能出门逛个街约个会什么的。如果很不幸网站数据喜人,那么数据库服务器又要继续以前加班狗的苦逼生活了。前面说应用服务器可以并联好几个,那么数据库服务器也可以玩并联,一个主服务器,专门用来写数据,另一个从服务器,专门用来读数据,这就是「读写分离」。

数据库的从服务器就是主服务器的脑残粉,主服务器留什么发型从服务器留什么发型,它们之间是脑残的 ctrl +c、ctrl+v 的关系。但是应用服务器不知道啊,为了让应用服务器能愉快的和数据服务器交流,一个很有前途的翻译工作岗位诞生了,这就是应用服务器里面的「数据库访问模块」。

准备步行去公交车站,我们肯定会选择离自己近的那一站。到了站牌前,如果有三个站牌,我们肯定先看离自己最近的那个站牌。网站访问也一样,用户的一个访问请求过来了,离用户最近的那个网络提供商的机房抢先接到了请求(CDN),然后把这个请求丢给网站的中心机房。而网站的中心机房也不想动弹离开座位去另一个办公室找缓存服务器,于是它原地翻出离自己手最近的缓存(反向代理),然后把数据返回给用户。

分布式缓存服务器一口气并联了好几个,数据库服务器也从一人单打独斗变成了主从脑残粉,其实这个时候文件服务器相当不爽,三人明明同一天入职,现在应用服务器、数据库服务器都不是一个人在战斗了,文件服务器不并联,天理难容啊!

文件服务器也给自己弄了几个并联服务器,然后改名叫分布式文件服务器。

数据库服务器坐不下去了,它也要搞个分布式缓存服务器,王二如果不给搞它就要离职。于是王二把数据库服务器叫到办公室里,端了一碗心灵鸡汤:年轻人啊,要学会时间管理,来一份邮件就处理一份邮件肯定效率极其低下的,你完全可以每天抽出半小时专门处理邮件,这样效率更高一点啊。

数据库服务器觉得王二说的对,于是它把手头的业务重新分了一下,不同的业务放在不同的物理服务器上,顿时发现空间大了许多。

业务越来越复杂,搜索服务器也加进来了,NoSQL 服务器也加进来了,于是「数据库访问模块」这个翻译的工作量也增加了。

老板发财了,变成了一个土豪,王二也走上了人生巅峰,这个时候来找应用服务器的远方亲戚也越来越多了,什么应用服务器2008,应用服务器2013,应用服务器2017,应用服务器2042……每天应接不暇,连刷朋友圈的时间都没有,于是应用服务器让它们排了一个队,这样接待起来不至于秩序混乱,这个队就是消息队列。和搜索一样,消息队列也有自己的服务器,叫做消息队列服务器。

后来应用服务器发现2008、2013、2017、2042……这几个亲戚和自己一样,都有胆结石,都要吃消炎利胆片,没必要来一个亲戚买一瓶啊,重复劳动太浪费时间了。于是应用服务器索性把消炎利胆片单独抽出来,放在分布式应用服务器里,然后自己和那群数字亲戚,想吃药的时候,直接去里面拿消炎利胆片就行了。

所以,网站架构说到底,本质依然是个时间管理问题——作者,你出来我保证不打你。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容