摘要:架構(gòu)的演化以下參考大型網(wǎng)站技術(shù)架構(gòu)架構(gòu)的演化是隨著業(yè)務(wù)的增長(zhǎng)而發(fā)生變化的。架構(gòu)發(fā)展到今天,已經(jīng)成長(zhǎng)了很多。但是不能盲目地采用大公司的架構(gòu)模式,這會(huì)增加大量的開發(fā)和運(yùn)維的工作。應(yīng)用之間通過鏈接消息隊(duì)列和同一數(shù)據(jù)存儲(chǔ)系統(tǒng)構(gòu)成一個(gè)關(guān)聯(lián)的完整系統(tǒng)。
架構(gòu)的演化
以下參考《大型網(wǎng)站技術(shù)架構(gòu)》
架構(gòu)的演化是隨著業(yè)務(wù)的增長(zhǎng)而發(fā)生變化的。架構(gòu)發(fā)展到今天,已經(jīng)成長(zhǎng)了很多。但是不能盲目地采用大公司的架構(gòu)模式,這會(huì)增加大量的開發(fā)和運(yùn)維的工作。所以需要根據(jù)具體的業(yè)務(wù)增長(zhǎng)采用恰當(dāng)?shù)募軜?gòu)
但是最小型的架構(gòu)也至少需要兩個(gè)實(shí)例,以保證系統(tǒng)的穩(wěn)定性
初始應(yīng)用程序、數(shù)據(jù)庫(kù)、文件等所有的資源都在一臺(tái)服務(wù)器上
應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離應(yīng)用服務(wù)器:需要處理大量的業(yè)務(wù)邏輯,需要更快更強(qiáng)大的 CPU
數(shù)據(jù)庫(kù)服務(wù)器:需要快速磁盤檢索和數(shù)據(jù)緩存,要更快的硬盤和更大的內(nèi)存
文件服務(wù)器:更大的硬盤
使用緩存數(shù)據(jù)庫(kù)訪問壓力太大,或者二八定律(80% 的業(yè)務(wù)集中在 20% 的數(shù)據(jù)上)。所以對(duì)這小部分?jǐn)?shù)據(jù)進(jìn)行緩存。
應(yīng)用服務(wù)器集群單一的應(yīng)用服務(wù)器處理能力不足,通過負(fù)載均衡調(diào)度
數(shù)據(jù)庫(kù)讀寫分離讀的操作可以訪問緩存,但是仍有一部分讀操作(緩存不命中、緩存過期)和全部的寫操作需要訪問數(shù)據(jù)庫(kù)。用戶到達(dá)一定規(guī)模,數(shù)據(jù)庫(kù)負(fù)載壓力過高,成為瓶頸。
利用數(shù)據(jù)庫(kù)提供的主從熱備功能,配置數(shù)據(jù)庫(kù)主從關(guān)系,實(shí)現(xiàn)讀寫分離。
使用方向代理和 CDN 加速網(wǎng)站響應(yīng)CDN: 內(nèi)容分發(fā)網(wǎng)絡(luò)
CDN 和反向代理的基本原理都是緩存。CDN 找距離最近的網(wǎng)絡(luò)提供商機(jī)房獲取數(shù)據(jù);如果反向代理服務(wù)器中緩存著用戶請(qǐng)求的資源,就直接放回給用戶。
使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)拆分手段首先考慮根據(jù)業(yè)務(wù)分庫(kù),不得以時(shí)才使用分布式數(shù)據(jù)庫(kù)。
NoSQL 和 搜索引擎對(duì)數(shù)據(jù)存儲(chǔ)和檢索的需要越來越復(fù)雜,應(yīng)該程序通過統(tǒng)一的數(shù)據(jù)訪問模塊訪問數(shù)據(jù),減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。
業(yè)務(wù)拆分根據(jù)產(chǎn)品線劃分,分成許多不同的應(yīng)用。應(yīng)用之間通過鏈接、消息隊(duì)列和同一數(shù)據(jù)存儲(chǔ)系統(tǒng)構(gòu)成一個(gè)關(guān)聯(lián)的完整系統(tǒng)。
分布式服務(wù)(SOA、微服務(wù))將共用的業(yè)務(wù)提取出來,獨(dú)立部署。以達(dá)到復(fù)用服務(wù)的效果。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/11916.html
摘要:由于文章內(nèi)容較長(zhǎng),所以我把它分成兩篇小文章,在第一篇優(yōu)秀架構(gòu)師必須掌握的架構(gòu)思維中,我會(huì)先介紹抽象分層分治和演化這四種應(yīng)對(duì)復(fù)雜性的基本思維。另外,上面的算法是兩路歸并,也可以采用多路歸并,甚至是采用堆排序進(jìn)行優(yōu)化,但是總體分治思路沒有變化。 showImg(https://segmentfault.com/img/bVbeYpP?w=642&h=400); 介紹 架構(gòu)的本質(zhì)是管理復(fù)雜性...
摘要:由于文章內(nèi)容較長(zhǎng),所以我把它分成兩篇小文章,在第一篇優(yōu)秀架構(gòu)師必須掌握的架構(gòu)思維中,我會(huì)先介紹抽象分層分治和演化這四種應(yīng)對(duì)復(fù)雜性的基本思維。另外,上面的算法是兩路歸并,也可以采用多路歸并,甚至是采用堆排序進(jìn)行優(yōu)化,但是總體分治思路沒有變化。 showImg(https://segmentfault.com/img/bVbeYpP?w=642&h=400); 介紹 架構(gòu)的本質(zhì)是管理復(fù)雜性...
摘要:包括服務(wù)的自動(dòng)化部署,以及鏈路監(jiān)控等并未細(xì)說提及。結(jié)語誠(chéng)然,整個(gè)服務(wù)架構(gòu)可以輕松應(yīng)對(duì)千萬級(jí)并發(fā)。期望,整個(gè)服務(wù)架構(gòu)能伴隨公司繼續(xù)成長(zhǎng)壯大。 背景介紹 回顧 ShareSDK,顧名思義,分享的SDK組件,公司基于互聯(lián)網(wǎng),早期主要以ShareSDK起家。今日思來,很幸運(yùn),能陪著ShareSDK一起成長(zhǎng)。 showImg(https://segmentfault.com/img/bV0Wo5...
摘要:服務(wù)提供方對(duì)外發(fā)布服務(wù),服務(wù)需求方調(diào)用服務(wù)提供方所發(fā)布的服務(wù)。應(yīng)用服務(wù)器通過統(tǒng)一數(shù)據(jù)訪問模塊訪問各種數(shù)據(jù),減輕應(yīng)用程序管理諸多數(shù)據(jù)源的麻煩。 原文地址:https://blog.coding.net/blog/General-architecture-for-Java-applications 當(dāng)我們架設(shè)一個(gè)系統(tǒng)的時(shí)候通常需要考慮到如何與其他系統(tǒng)交互,所以我們首先需要知道各種系統(tǒng)之間是...
摘要:使用緩存兩個(gè)前提條件數(shù)據(jù)訪問熱點(diǎn)不均衡數(shù)據(jù)某時(shí)段內(nèi)有效,不會(huì)很快過期反向代理本地緩存分布式緩存異步旨在系統(tǒng)解耦。 大型網(wǎng)站技術(shù)架構(gòu)-入門梳理 標(biāo)簽 : 架構(gòu)設(shè)計(jì) [TOC] 羅列了大型網(wǎng)站架構(gòu)涉及到的概念,附上了簡(jiǎn)單說明 前言 本文是對(duì)《大型網(wǎng)站架構(gòu)設(shè)計(jì)》(李智慧 著)一書的梳理,類似文字版的思維導(dǎo)圖 全文主要圍繞性能,可用性,伸縮性,擴(kuò)展性,安全這五個(gè)要素 性能,可用性,伸縮性...
閱讀 1402·2023-04-26 01:28
閱讀 2135·2021-11-08 13:28
閱讀 2384·2021-10-12 10:17
閱讀 2413·2021-09-28 09:46
閱讀 4254·2021-09-09 09:33
閱讀 3787·2021-09-04 16:40
閱讀 1275·2019-08-29 15:21
閱讀 2752·2019-08-26 17:17