日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【阿里架构设计思想】一线互联网系统的核心架构是什么样子的?淘宝系统架构演进之路

發布時間:2024/2/28 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【阿里架构设计思想】一线互联网系统的核心架构是什么样子的?淘宝系统架构演进之路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習架構設計思想

以一個網站為例:
網站一開始就是大型的嗎?
我們一開始就設計一個大型網站嗎?
不一定要做到很好,但一定要先做出來。

淘寶發展過程

第一版

一個無名小網站,沒有太多人訪問,一臺服務器就綽綽有余。使用的是Linux+Apache+MySQL+PHP(典型的LAMP)架設普通小型網站,最便捷。一個月完成淘寶第一版。
發展遇到的問題:用戶訪問越來越多,性能越來越差,越來越多的數據導致存儲空間不足。

發展問題一

第一版性能太差,改用java。java核心技術:高并發、網絡編程。應用服務與數據服務分離,拆分成三臺服務器:
應用服務器(處理大量的業務邏輯,需要更快更強大的CPU)
文件服務器(存儲用戶上傳的文件,需要更大的硬盤)
數據庫服務器(數據庫,需要更快的硬盤和更大的內存)
這樣,不同的服務器承擔不同的角色,使得并發處理能力、數據存儲空間得到很大的改善。

發展問題二

隨著用戶逐漸增多,網站有一次挑戰:數據庫壓力太大導致訪問延遲,進而影響整個網站的性能,用戶體驗收到影響。

使用緩存改善性能

應用程序服務器
文件服務器、分布式緩存服務器、數據庫服務器

常用緩存組件:memache,redis
會使用很簡單,要學它的原理,架構,怎樣實現高可用

發展問題三

隨著用戶增多,單一應用服務器能夠處理的請求連接有限。在網站訪問高峰期,應用服務器成為整個網站的瓶頸。

使用服務器集群——改善網站的并發處理能力

負載均衡調度服務器(負責調度) - 應用服務器(本地緩存) - 文件服務器、分布式緩存服務器(遠程分布式緩存)、數據庫服務器

為什么不使用更強的服務器?一臺服務器難以處理。在今天,淘寶的并發量是幾百萬,上千萬。從經濟的角度,使用集群更實惠。

負載均衡的實現方式有哪些?
淘寶用過的技術:
軟件(應用層的負載均衡):Apache Nginx Reverse-proxy pWEB LVS(LVS在IP層,開源免費,性能高于nginx,nginx可處理十萬并發)
硬件:F5
DNS負載均衡(域名到ip地址轉換,一個域名可以對應很多個ip地址)

發展問題4

使用緩存后,大大減輕了數據庫的度壓力,但仍有一部分讀操作(緩存訪問不命中,緩存過期)和全部的寫操作要訪問數據庫,當用戶達到一定規模后,數據庫因為負載壓力過高而成為整個系統的瓶頸。

讀寫分離

將并發壓力分流。
增加數據訪問模塊(自己研發的),也可以在MyBatis中開發插件,或者mycat(服務端代理模式),sharding-jdbc(客戶端模式)

發展問題5

用戶規模越來越大,發布地獄越來越廣,地域網絡環境差別很大,如何保證用戶的訪問體驗,不至于因為訪問慢而流失用戶。
使用反向代理服務器,和CDN服務器。
CDN是內容分發網絡,原理是緩存。各大電信運營商服務器上存放的數據中心。
好處:加快用戶訪問速度,減輕后端服務器壓力。

發展問題6

單文件服務器、單數據服務器存不下日益增長的數據

使用分布式文件系統和分布式數據庫系統(分庫分表)

適合存儲小文件、圖片的分布文件系統LFastDFS,TFS
數據訪問模塊:mycat,sharing-jdbc

發展問題7

隨著業務的發展,數據的存儲需求和檢索需求越來越復雜。存儲的字段差異很大,整張表不是所有的數據都會用到(形成骷髏表),需要復雜的文本檢索。

使用NoSQL數據庫、搜索引擎服務器

搜索引擎用什么?lucene, solr, elasticsearch
NoSQL數據庫用什么?mongodb, elasticsearch

發展問題8

網站越做越好,業務不斷擴大,越來越復雜,應用程序變得無比龐大,迭代周期越來越快,牽一發兒動全身,怎么應對快速的業務發展需要?

進行業務拆分:拆分成很多子系統。
如,淘寶將首頁、商鋪、訂單、買家等拆分成不同的產品線,分歸不同的團隊負責,分成不同的應用,獨立部署。通過連接、MQ、數據存儲系統建立關聯。

消息隊列MQ:RabbitMQ,ActiveMQ,Kafla

一些開源免費的組件不足以滿足業務的需要。
工作會是開發中間件,開發MQ,自己搞一套,而不是寫簡單的業務代碼。

發展問題9

業務規模不斷增大,應用拆分越來越小,越來越多。應用之間的關系越來越復雜、應用中存在大量相同的業務操作。后端的數據庫要背成千上萬太應用服務器連接,數據庫連接資源不足。

分布式服務(服務化)

如何做服務化?
服務框架:Dubbo,SpringCloud
配置中心:zookeeper,SpringCloud config,disconf百度,config-toolkit當當,diamond阿里

發展問題10

數據挖掘、分析、推薦等業務需求,龐大系統的監控、問題分析等需求

大數據技術、監控、日志分析系統
集中式日志分析系統、監控系統服務器、大數據系統服務器

比如,如果出現了bug,去找到所有的日志構成完整的數據鏈;成百上千服務器使用監控系統檢測哪臺出現故障

大數據:hadoop,spark
系統監控:zabbix,Elasticsearch+beats+kibana
集中式日志分析系統:ELK

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的【阿里架构设计思想】一线互联网系统的核心架构是什么样子的?淘宝系统架构演进之路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。