大型ç½'站架构æ¼"变å'ŒçŸ¥è¯†ä½"ç³»

您所在的位置:网站首页 卡欧西士 大型ç½'站架构æ¼"变å'ŒçŸ¥è¯†ä½"ç³»

大型ç½'站架构æ¼"变å'ŒçŸ¥è¯†ä½"ç³»

2023-08-22 21:39| 来源: 网络整理| 查看: 265

这是篇08年的老æ-‡ç« :原æ-‡åœ°å€ã€‚

æ¶‰åŠåˆ°å¾ˆå¤šè¿ç»´çš„ä¸œè¥¿ï¼Œæœ€ç»ˆç›®æ ‡å°±æ˜¯å¦‚ Google ä¸€æ ·çš„è¿›å...¥å¤§åž‹åˆ†å¸ƒå¼åº"ç"¨æ-¶ä»£å'Œå»‰ä»·æœåŠ¡å™¨ç¾¤æ¢¦æƒ³æ-¶ä»£ã€‚

这篇æ-‡ç« 看似å'ŒSEO没有å...³ç³»ï¼Œä½†å...¶å®žå...³ç³»å¾ˆå¤§ï¼›æ²¡å...´è¶£çš„看看前四步,有å...´è¶£çš„争å-å...¨æ-‡çœ‹å®Œã€‚

看了 Gaoge å'çš„åŒ-美PPC 自动åŒ-管理工å...·å¤§èµ·åº•ï¼Œè¶Šæ¥è¶Šè§‰å¾-差距之大,SEO å'Œ PPC 本是同源,但却不同å¾...遇,引ç"¨äºŒå...«ç†è®º"SEO 驱动了80%的流量,但只获å¾-了20%的营é"€é¢„ç®-",å...¶ä½™çš„资é‡'都流进了 PPC,而基于搜索ç½'络的 PPC 也是搜索引æ"Žæœ€èµšé'±çš„部分;SEO 一æ-¦åšå¤§ï¼Œå°±ä¸å...‰æ˜¯å‰ç«¯æ-¹é¢çš„é-®é¢˜ï¼Œæ‰€ä»¥å¥½å¥½çœ‹çœ‹æœ¬æ-‡ã€‚

不过有点不å...¬é"的是:SEO 自动åŒ-å·¥å...·ä¸€æ-¦åº"ç"¨ï¼Œå°±æˆäº†é»'帽SEO,是违法的;而 PPC 自动åŒ-å·¥å...·ä¸€æ-¦åº"ç"¨æˆåŠŸï¼Œé²œèŠ±æŽŒå£°ä¸æ-­ã€‚

毕竟还是商业的 Google。

架构æ¼"变第一步:物理分离webserverå'Œæ•°æ®åº"

最开始,ç"±äºŽæŸäº›æƒ³æ³•ï¼ŒäºŽæ˜¯åœ¨äº'è"ç½'上搭建了一个ç½'站,这个æ-¶å€™ç"šè‡³æœ‰å¯èƒ½ä¸»æœºéƒ½æ˜¯ç§Ÿå€Ÿçš„,但ç"±äºŽè¿™ç¯‡æ-‡ç« æˆ'们只å...³æ³¨æž¶æž„çš„æ¼"å˜åŽ†ç¨‹ï¼Œå› æ­¤å°±å‡è®¾è¿™ä¸ªæ-¶å€™ 已经是托管了一台主机,并ä¸"有一定的带宽了,这个æ-¶å€™ç"±äºŽç½'ç«™å...·å¤‡äº†ä¸€å®šçš„特色,吸引了 部分人访é-®ï¼Œé€æ¸ä½ å'现系统的压力越来越高,å"åº"速度越来越æ...¢ï¼Œè€Œè¿™ä¸ªæ-¶å€™æ¯"较明显的是数据åº"å'Œåº"ç"¨äº'相影å"ï¼Œåº"ç"¨å‡ºé-®é¢˜äº†ï¼Œæ•°æ®åº"也很容æ˜"出现é-®é¢˜ï¼Œè€Œ 数据åº"出é-®é¢˜çš„æ-¶å€™ï¼Œåº"ç"¨ä¹Ÿå®¹æ˜"出é-®é¢˜ï¼ŒäºŽæ˜¯è¿›å...¥äº†ç¬¬ä¸€æ­¥æ¼"变阶段:将åº"ç"¨å'Œæ•°æ®åº"从物理上分离,变成了两台机器,这个æ-¶å€™æŠ€æœ¯ä¸Šæ²¡æœ‰ä»€ä¹ˆæ-°çš„è¦æ±‚ï¼Œä½†ä½ å'现确实起到效果了,系统又恢复到以前的å"åº"速度了,并ä¸"æ"¯æ''住了更高的流量,并ä¸"ä¸ä¼šå› ä¸ºæ•°æ®åº"å'Œåº"ç"¨å½¢æˆäº'相的影å"ã€‚

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

这一步架构æ¼"变对技术上的知识ä½"系基本没有要求。

架构æ¼"å˜ç¬¬äºŒæ­¥ï¼šå¢žåŠ é¡µé¢ç¼"å­˜

好景不长,随着访é-®çš„äººè¶Šæ¥è¶Šå¤šï¼Œä½ å'现å"åº"速度又开始变æ...¢äº†ï¼ŒæŸ¥æ‰¾åŽŸå› ,å'现是访é-®æ•°æ®åº"çš„æ"ä½œå¤ªå¤šï¼Œå¯¼è‡´æ•°æ®è¿žæŽ¥ç«žäº‰æ¿€çƒˆï¼Œæ‰€ä»¥å"åº"变æ...¢ï¼Œä½†æ•°æ®åº"è¿ž 接又不能开太多,否则数据åº"æœºå™¨åŽ‹åŠ›ä¼šå¾ˆé«˜ï¼Œå› æ­¤è€ƒè™'采ç"¨ç¼"存机制来减å°'数据åº"连接资源的竞争å'Œå¯¹æ•°æ®åº"读的压力,这个æ-¶å€™é¦-å...ˆä¹Ÿè®¸ä¼šé€‰æ‹©é‡‡ç"¨squid 等类似的机制来将系统中相对静态的页面(例如一两天才会有更æ-°çš„页面)进行ç¼"存(å½"然,也可以采ç"¨å°†é¡µé¢é™æ€åŒ-çš„æ-¹æ¡ˆï¼‰ï¼Œè¿™æ ·ç¨‹åºä¸Šå¯ä»¥ä¸åšä¿®æ"¹ï¼Œå°±èƒ½å¤Ÿ 很好的减å°'对webserver的压力以及减å°'数据åº"连接资源的竞争,OK,于是开始采ç"¨squid来做相对静态的页面的ç¼"存。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

前端页面ç¼"存技术,例如squid,如想ç"¨å¥½çš„话还å¾-æ·±å...¥æŽŒæ¡ä¸‹squid的实现æ-¹å¼ä»¥åŠç¼"存的失效ç®-法等。

架构æ¼"å˜ç¬¬ä¸‰æ­¥ï¼šå¢žåŠ é¡µé¢ç‰‡æ®µç¼"å­˜

å¢žåŠ äº†squid做ç¼"存后,整ä½"系统的速度确实是提升了,webserver的压力也开始下降了,但随着访é-®é‡çš„å¢žåŠ ï¼Œå'现系统又开始变的有些æ...¢äº†ï¼Œåœ¨å° 到了squid之类的动态ç¼"存带来的好处后,开始想能不能让现在那些动态页面里相对静态的部分也ç¼"存起来å'¢ï¼Œå› 此考è™'采ç"¨ç±»ä¼¼ESI之类的页面片段ç¼"å­˜ç­-略,OK,于是开始采ç"¨ESI来做动态页面中相对静态的片段部分的ç¼"存。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

页面片段ç¼"存技术,例如ESI等,想ç"¨å¥½çš„è¯åŒæ ·éœ€è¦æŽŒæ¡ESI的实现æ-¹å¼ç­‰ï¼›

架构æ¼"变第四步:数据ç¼"å­˜

在采ç"¨ESI之类的技术再次提高了系统的ç¼"å­˜æ•ˆæžœåŽï¼Œç³»ç»Ÿçš„åŽ‹åŠ›ç¡®å®žè¿›ä¸€æ­¥é™ä½Žäº†ï¼Œä½†åŒæ ·ï¼Œéšç€è®¿é-®é‡çš„å¢žåŠ ï¼Œç³»ç»Ÿè¿˜æ˜¯å¼€å§‹å˜æ...¢ï¼Œç»è¿‡æŸ¥æ‰¾ï¼Œå¯èƒ½ä¼šå'现系 统中存在一些重复获å-数据信息的地æ-¹ï¼ŒåƒèŽ·å-ç"¨æˆ·ä¿¡æ¯ç­‰ï¼Œè¿™ä¸ªæ-¶å€™å¼€å§‹è€ƒè™'是不是可以将这些数据信息也ç¼"存起来å'¢ï¼ŒäºŽæ˜¯å°†è¿™äº›æ•°æ®ç¼"存到本地å†...存,æ"¹å˜å®Œæ¯•åŽï¼Œå®Œå...¨ç¬¦åˆé¢„期,系统的å"åº"速度又恢复了,数据åº"的压力也再度降低了不å°'。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

ç¼"存技术,åŒ...括像Map数据ç»"构、ç¼"å­˜ç®-法、所选ç"¨çš„框架本身的实现机制等。

架构æ¼"变第äº"步: å¢žåŠ webserver

好景不长,å'现随着系统访é-®é‡çš„å†åº¦å¢žåŠ ï¼Œwebserver机器的压力在高峰期会上升到æ¯"较高,这个æ-¶å€™å¼€å§‹è€ƒè™'å¢žåŠ ä¸€å°webserver,这也是为了同æ-¶è§£å†³å¯ç"¨æ€§çš„é-®é¢˜ï¼Œé¿å...å•å°çš„webserver down机的话就没法使ç"¨äº†ï¼Œåœ¨åšäº†è¿™äº›è€ƒè™'åŽï¼Œå†³å®šå¢žåŠ ä¸€å°webserverï¼Œå¢žåŠ ä¸€å°webserveræ-¶ï¼Œä¼šç¢°åˆ°ä¸€äº›é-®é¢˜ï¼Œå...¸åž‹çš„有: 1、如何让访é-®åˆ†é...åˆ°è¿™ä¸¤å°æœºå™¨ä¸Šï¼Œè¿™ä¸ªæ-¶å€™é€šå¸¸ä¼šè€ƒè™'çš„æ-¹æ¡ˆæ˜¯Apache自带的负载均衡æ-¹æ¡ˆï¼Œæˆ-LVS这类的软件负载均衡æ-¹æ¡ˆï¼› 2、如何保持状态信息的同步,例如ç"¨æˆ·session等,这个æ-¶å€™ä¼šè€ƒè™'çš„æ-¹æ¡ˆæœ‰å†™å...¥æ•°æ®åº"、写å...¥å­˜å‚¨ã€cookieæˆ-同步session信息等机制等; 3、如何保持数据ç¼"存信息的同步,例如之前ç¼"存的ç"¨æˆ·æ•°æ®ç­‰ï¼Œè¿™ä¸ªæ-¶å€™é€šå¸¸ä¼šè€ƒè™'的机制有ç¼"存同步æˆ-分布式ç¼"存; 4ã€å¦‚ä½•è®©ä¸Šä¼ æ-‡ä»¶è¿™äº›ç±»ä¼¼çš„功能继续正常,这个æ-¶å€™é€šå¸¸ä¼šè€ƒè™'的机制是使ç"¨å...±äº«æ-‡ä»¶ç³»ç»Ÿæˆ-存储等;在解决了这些é-®é¢˜åŽï¼Œç»ˆäºŽæ˜¯æŠŠwebserverå¢žåŠ ä¸ºäº†ä¸¤å°ï¼Œç³»ç»Ÿç»ˆäºŽæ˜¯åˆæ¢å¤åˆ°äº†ä»¥å¾€çš„é€Ÿåº¦ã€‚

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

负载均衡技术(åŒ...括但不限于硬件负载均衡、软件负载均衡、负载ç®-法、linux转å'协议、所选ç"¨çš„技术的实现细节等)、主备技术(åŒ...括但不限于ARP欺éª-、linux heart-beat等)、状态信息æˆ-ç¼"存同步技术(åŒ...括但不限于Cookie技术、UDP协议、状态信息广æ'­ã€æ‰€é€‰ç"¨çš„ç¼"存同步技术的实现细节等)、å...±äº«æ-‡ä»¶æŠ€æœ¯ï¼ˆåŒ...括但不限于NFS等)、存储技术(åŒ...括但不限于存储设备等)。

架构æ¼"变第å...­æ­¥ï¼šåˆ†åº"

享å-了一段æ-¶é-´çš„系统访é-®é‡é«˜é€Ÿå¢žé•¿çš„幸福后,å'现系统又开始变æ...¢äº†ï¼Œè¿™æ¬¡åˆæ˜¯ä»€ä¹ˆçŠ¶å†µå'¢ï¼Œç»è¿‡æŸ¥æ‰¾ï¼Œå'现数据åº"写å...¥ã€æ›´æ-°çš„这些æ"ä½œçš„部分数据åº"连接的 资源竞争非常激烈,导致了系统变æ...¢ï¼Œè¿™ä¸‹æ€Žä¹ˆåŠžå'¢ï¼Œæ­¤æ-¶å¯é€‰çš„æ-¹æ¡ˆæœ‰æ•°æ®åº"集群å'Œåˆ†åº"ç­- 略,集群æ-¹é¢åƒæœ‰äº›æ•°æ®åº"æ"¯æŒçš„å¹¶ä¸æ˜¯å¾ˆå¥½ï¼Œå› æ­¤åˆ†åº"会成为æ¯"较普遍的ç­-略,分åº"也就意å'³ç€è¦å¯¹åŽŸæœ‰ç¨‹åºè¿›è¡Œä¿®æ"¹ï¼Œä¸€é€šä¿®æ"¹å®žçŽ°åˆ†åº"后,不é"™ï¼Œç›®æ ‡è¾¾åˆ° 了,系统恢复ç"šè‡³é€Ÿåº¦æ¯"以前还快了。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

这一步更多的是需要从业务上做合理的åˆ'分,以实现分åº",å...·ä½"技术细节上没有å...¶ä»-的要求;

但同æ-¶éšç€æ•°æ®é‡çš„增大å'Œåˆ†åº"的进行,在数据åº"çš„è®¾è®¡ã€è°ƒä¼˜ä»¥åŠç»´æŠ¤ä¸Šéœ€è¦åšçš„æ›´å¥½ï¼Œå› æ­¤å¯¹è¿™äº›æ-¹é¢çš„技术还是提出了很高的要求的。

架构æ¼"变第七步:分表、DALå'Œåˆ†å¸ƒå¼ç¼"存随着系统的不æ-­è¿è¡Œï¼Œæ•°æ®é‡å¼€å§‹å¤§å¹...度增长,这个æ-¶å€™å'现分åº"后查询仍然会有些æ...¢ï¼ŒäºŽæ˜¯æŒ‰ç...§åˆ†åº"的思想开始做分表的工作,å½"然,这不可避å...çš„会需要对程序 进行一些修æ"¹ï¼Œä¹Ÿè®¸åœ¨è¿™ä¸ªæ-¶å€™å°±ä¼šå'现åº"ç"¨è‡ªå·±è¦å...³å¿ƒåˆ†åº"分表的规则等,还是有些复杂的,于是萌ç"Ÿèƒ½å¦å¢žåŠ 一个通ç"¨çš„框架来实现分åº"分表的数据访é-®ï¼Œè¿™ä¸ªåœ¨ebay的架构中对åº"的就是DAL,这个æ¼"变的过程相对而言需要花费较长的æ-¶é-´ï¼Œå½"然,也有可能这个通ç"¨çš„框架会等到分表做完后才开始做,同æ-¶ï¼Œåœ¨è¿™ä¸ªé˜¶æ®µå¯ 能会å'现之前的ç¼"存同步æ-¹æ¡ˆå‡ºçŽ°é-®é¢˜ï¼Œå› 为数据量太大,导致现在不太可能将ç¼"存存在本地,然后同步的æ-¹å¼ï¼Œéœ€è¦é‡‡ç"¨åˆ†å¸ƒå¼ç¼"å­˜æ-¹æ¡ˆäº†ï¼ŒäºŽæ˜¯ï¼Œåˆæ˜¯ä¸€é€šè€ƒå¯Ÿå'ŒæŠ˜ç£¨ï¼Œç»ˆäºŽæ˜¯å°†å¤§é‡çš„数据ç¼"存转移到分布式ç¼"存上了。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

åˆ†è¡¨æ›´å¤šçš„åŒæ ·æ˜¯ä¸šåŠ¡ä¸Šçš„åˆ'分,技术上涉及到的会有动态hashç®-法、consistent hashç®-法等;

DAL涉及到æ¯"较多的复杂技术,例如数据åº"连接的管理(è¶...æ-¶ã€å¼‚常)、数据åº"æ"ä½œçš„控制(è¶...æ-¶ã€å¼‚常)、分åº"分表规则的封è£...等;

架构æ¼"变第å...«æ­¥ï¼šå¢žåŠ 更多的webserver

在做完分åº"分表这些工作后,数据åº"上的压力已经降到æ¯"较低了,又开始过着每天看着访é-®é‡æš´å¢žçš„幸福ç"Ÿæ´»äº†ï¼Œçªç„¶æœ‰ä¸€å¤©ï¼Œå'现系统的访é-®åˆå¼€å§‹æœ‰å˜æ...¢çš„趋势 了,这个æ-¶å€™é¦-å...ˆæŸ¥çœ‹æ•°æ®åº",压力一切正常,之后查看webserver,å'现apache阻塞了很多的请求,而åº"ç"¨æœåŠ¡å™¨å¯¹æ¯ä¸ªè¯·æ±‚也是æ¯"较快的,看来 是请求数太高导致需要æŽ'队等å¾...,å"åº"速度变æ...¢ï¼Œè¿™è¿˜å¥½åŠžï¼Œä¸€èˆ¬æ¥è¯´ï¼Œè¿™ä¸ªæ-¶å€™ä¹Ÿä¼šæœ‰äº›é'±äº†ï¼ŒäºŽæ˜¯æ·»åŠ 一些webserveræœåŠ¡å™¨ï¼Œåœ¨è¿™ä¸ªæ·»åŠ webserveræœåŠ¡å™¨çš„è¿‡ç¨‹ï¼Œæœ‰å¯èƒ½ä¼šå‡ºçŽ°å‡ ç§æŒ'战: 1、Apache的软负载æˆ-LVS软负载等æ- 法承æ‹...巨大的web访é-®é‡ï¼ˆè¯·æ±‚连接数、ç½'络流量等)的调度了,这个æ-¶å€™å¦‚果经费å...è®¸çš„话,会采å-çš„æ-¹æ¡ˆæ˜¯è´­ 买硬件负载,例如F5、Netsclar、Athelon之类的,如经费不å...è®¸çš„话,会采å-çš„æ-¹æ¡ˆæ˜¯å°†åº"ç"¨ä»Žé€»è¾'上做一定的分类,然后分散到不同的软负载集群中; 2、原有的一些状态信息同步、æ-‡ä»¶å...±äº«ç­‰æ-¹æ¡ˆå¯èƒ½ä¼šå‡ºçŽ°ç"¶é¢ˆï¼Œéœ€è¦è¿›è¡Œæ"¹è¿›ï¼Œä¹Ÿè®¸è¿™ä¸ªæ-¶å€™ä¼šæ ¹æ®æƒ...况ç¼-写符合ç½'站业务需求的分布式æ-‡ä»¶ç³»ç»Ÿç­‰ï¼›åœ¨åšå®Œè¿™äº›å·¥ä½œåŽï¼Œå¼€å§‹è¿›å...¥ä¸€ä¸ªçœ‹ä¼¼å®Œç¾Žçš„æ- 限伸缩的æ-¶ä»£ï¼Œå½"ç½'ç«™æµé‡å¢žåŠ æ-¶ï¼Œåº"对的解决æ-¹æ¡ˆå°±æ˜¯ä¸æ-­çš„æ·»åŠ webserver。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

到了这一步,随着机器数的不æ-­å¢žé•¿ã€æ•°æ®é‡çš„不æ-­å¢žé•¿å'Œå¯¹ç³»ç»Ÿå¯ç"¨æ€§çš„要求越来越高,这个æ-¶å€™è¦æ±‚对所采ç"¨çš„技术都要有更为深å...¥çš„ç†è§£ï¼Œå¹¶éœ€è¦æ ¹æ®ç½'ç«™çš„éœ€æ±‚æ¥åšæ›´åŠ å®šåˆ¶æ€§è´¨çš„äº§å"ã€‚

架构æ¼"变第九步:数据读写分离å'Œå»‰ä»·å­˜å‚¨æ-¹æ¡ˆ

突然有一天,å'现这个完美的æ-¶ä»£ä¹Ÿè¦ç»"束了,数据åº"的噩梦又一次出现在眼前了,ç"±äºŽæ·»åŠ çš„webserver太多了,导致数据åº"连接的资源还是不够ç"¨ï¼Œè€Œè¿™ä¸ªæ-¶å€™åˆå·²ç»åˆ†åº"分表了,开始分析数据åº"的压力状况,可能会å'现数据åº"的读写æ¯"很高,这个æ-¶å€™é€šå¸¸ä¼šæƒ³åˆ°æ•°æ®è¯»å†™åˆ†ç¦»çš„æ-¹æ¡ˆï¼Œå½"然,这个æ-¹æ¡ˆè¦å®žçŽ°å¹¶ä¸ 容æ˜",另å¤-,可能会å'现一些数据存储在数据åº"上有些浪费,æˆ-è€...è¯´è¿‡äºŽå ç"¨æ•°æ®åº"èµ„æºï¼Œå› æ­¤åœ¨è¿™ä¸ªé˜¶æ®µå¯èƒ½ä¼šå½¢æˆçš„æž¶æž„æ¼"变是实现数据读写分离,同æ-¶ç¼-写一些更为廉价的存储æ-¹æ¡ˆï¼Œä¾‹å¦‚BigTable这种。

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

数据读写分离要求对数据åº"的复制、standbyç­‰ç­-略有深å...¥çš„掌握å'Œç†è§£ï¼ŒåŒæ-¶ä¼šè¦æ±‚å...·å¤‡è‡ªè¡Œå®žçŽ°çš„技术;

廉价存储æ-¹æ¡ˆè¦æ±‚对OSçš„æ-‡ä»¶å­˜å‚¨æœ‰æ·±å...¥çš„掌握å'Œç†è§£ï¼ŒåŒæ-¶è¦æ±‚对采ç"¨çš„语言在æ-‡ä»¶è¿™å-的实现有深å...¥çš„掌握。

架构æ¼"变第十步:进å...¥å¤§åž‹åˆ†å¸ƒå¼åº"ç"¨æ-¶ä»£å'Œå»‰ä»·æœåŠ¡å™¨ç¾¤æ¢¦æƒ³æ-¶ä»£

经过上面这个漫长而ç-›è‹¦çš„过程,终于是再度迎来了完美的æ-¶ä»£ï¼Œä¸æ-­çš„å¢žåŠ webserver就可以æ"¯æ''越来越高的访é-®é‡äº†ï¼Œå¯¹äºŽå¤§åž‹ç½'站而言,人æ°"的重要毋 庸置ç-',随着人æ°"çš„è¶Šæ¥è¶Šé«˜ï¼Œå„ç§å„æ ·çš„åŠŸèƒ½éœ€æ±‚ä¹Ÿå¼€å§‹çˆ†å'性的增长,这个æ-¶å€™çªç„¶å'现,原来部署在webserver上的那个webåº"ç"¨å·²ç»éžå¸¸åºžå¤§ 了,å½"多个团队都开始对å...¶è¿›è¡Œæ"¹åŠ¨æ-¶ï¼Œå¯çœŸæ˜¯ç›¸å½"的不æ-¹ä¾¿ï¼Œå¤ç"¨æ€§ä¹Ÿç›¸å½"糟糕,基本是每个团队都做了æˆ-多æˆ-å°'重复的事æƒ...,而ä¸"部署å'Œç»´æŠ¤ä¹Ÿæ˜¯ç›¸å½"的麻烦, å› ä¸ºåºžå¤§çš„åº"ç"¨åŒ...在N台机器上复制、启动都需要è€-费不å°'çš„æ-¶é-´ï¼Œå‡ºé-®é¢˜çš„æ-¶å€™ä¹Ÿä¸æ˜¯å¾ˆå¥½æŸ¥ï¼Œå¦å¤-一个更糟糕的状况是很有可能会出现某个åº"ç"¨ä¸Šçš„bug就导 致了å...¨ç«™éƒ½ä¸å¯ç"¨ï¼Œè¿˜æœ‰å...¶ä»-的像调优不好æ"ä½œï¼ˆå› 为机器上部署的åº"ç"¨ä»€ä¹ˆéƒ½è¦åšï¼Œæ ¹æœ¬å°±æ- 法进行é'ˆå¯¹æ€§çš„è°ƒä¼˜ï¼‰ç­‰å› ç´ ï¼Œæ ¹æ®è¿™æ ·çš„åˆ†æžï¼Œå¼€å§‹ç-›ä¸‹å†³å¿ƒï¼Œå°† ç³»ç»Ÿæ ¹æ®èŒè´£è¿›è¡Œæ‹†åˆ†ï¼ŒäºŽæ˜¯ä¸€ä¸ªå¤§åž‹çš„åˆ†å¸ƒå¼åº"ç"¨å°±è¯žç"Ÿäº†ï¼Œé€šå¸¸ï¼Œè¿™ä¸ªæ­¥éª¤éœ€è¦è€-费相å½"é•¿çš„æ-¶é-´ï¼Œå› 为会碰到很多的æŒ'战: 1、拆成分布式后需要提供一个高性能、稳定的通信框架,并ä¸"需要æ"¯æŒå¤šç§ä¸åŒçš„通信å'Œè¿œç¨‹è°ƒç"¨æ-¹å¼ï¼› 2、将一个庞大的åº"ç"¨æ‹†åˆ†éœ€è¦è€-费很长的æ-¶é-´ï¼Œéœ€è¦è¿›è¡Œä¸šåŠ¡çš„整理å'Œç³»ç»Ÿä¾èµ-å...³ç³»çš„控制等; 3、如何运维(依èµ-管理、运行状况管理、é"™è¯¯è¿½è¸ªã€è°ƒä¼˜ã€ç›'控å'ŒæŠ¥è­¦ç­‰ï¼‰å¥½è¿™ä¸ªåºžå¤§çš„分布式åº"ç"¨ã€‚经过这一步,差不多系统的架构进å...¥ç›¸å¯¹ç¨³å®šçš„阶段,同æ-¶ä¹Ÿèƒ½å¼€å§‹é‡‡ç"¨å¤§é‡çš„廉价机器来æ"¯æ''着巨大的访é-®é‡å'Œæ•°æ®é‡ï¼Œç»"合这å¥-架构以及这么多次æ¼"变过程吸å-的经验来采ç"¨å...¶ä»-å„ç§å„æ ·çš„æ-¹æ³•æ¥æ"¯æ''着越来越高的访é-®é‡ã€‚

看看这一步完成后系统的图示:

这一步涉及到了这些知识ä½"系:

这一步涉及的知识ä½"系非常的多,要求对通信、远程调ç"¨ã€æ¶ˆæ¯æœºåˆ¶ç­‰æœ‰æ·±å...¥çš„理解å'ŒæŽŒæ¡ï¼Œè¦æ±‚的都是从理论、硬件级、æ"ä½œç³»ç»Ÿçº§ä»¥åŠæ‰€é‡‡ç"¨çš„语言的实现都有æ¸...楚的理解。

运维这å-涉及的知识ä½"系也非常的多,多数æƒ...况下需要掌握分布式并行计ç®-、报表、ç›'控技术以及规则ç­-略等等。

说起来确实不怎么费力,整个ç½'站架构的经å...¸æ¼"变过程都å'Œä¸Šé¢æ¯"较的类似,å½"然,每步采å-çš„æ-¹æ¡ˆï¼Œæ¼"变的步骤有可能有不同,另å¤-,ç"±äºŽç½'站的业务不同,会有不同的ä¸"业技术的需求,这篇blog更多的是从架构的è§'度来讲解æ¼"变的过程,å½"然,å...¶ä¸­è¿˜æœ‰å¾ˆå¤šçš„技术也未在此提及,像数据åº"集群、数据æŒ-掘、搜索等,但在真实的æ¼"变过程中还会借助像提升硬件é...ç½®ã€ç½'络环境、æ"¹é€ æ"ä½œç³»ç»Ÿã€CDN镜像等来æ"¯æ''æ›´å¤§çš„æµé‡ï¼Œå› æ­¤åœ¨çœŸå®žçš„å'展过程中还会有很多的不同,另å¤-一个大型ç½'站要做到的远远不ä»...ä»...上面这些,还有像安å...¨ã€è¿ç»´ã€è¿è¥ã€æœåŠ¡ã€å­˜å‚¨ç­‰ï¼Œè¦åšå¥½ä¸€ä¸ªå¤§åž‹çš„ç½'站真的很不容æ˜",写这篇æ-‡ç« 更多的是希望能够引出更多大型ç½'站架构æ¼"变的介绍, :)。

Link to original post


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3