1. 程式人生 > >從小到大的部署架構

從小到大的部署架構

一、常見的網站部署架構模型

**

一、 單機集中式

1.1 什麼是單機集中方式?

單機-單個獨立的系統例項化部署,也就是把所有的應用都堆積到一個例項上,例項常指:單個主機或者單個vps。
集中式-集中的什麼?集中的應用(Application)、檔案(DATA)、資料(File)。
Application 包括一部分 app server 和應用程式程式碼。
File 常指靜態型別的檔案,字尾常見如:
DATA 資料,我們可以通過檔案儲存 也可以通過Database來儲存

1.2、 常見的集中化部署架構模型(當然也常見在多機模式下),如下:
如:LAMP=Linux+Apache+Mysql+PHP
LNMP= Linux+Nginx+Mysql+PHP
Linux + Tomcat + Oracle + JAVA
Linux +Nginx + Tomcat + JAVA + Oracle

1.3、優缺點
優點:1、簡單-部署簡單 2、成本低廉(時間、硬體投入、人員等等)3、訪問延遲
缺點:1、單機風險 2、效能瓶頸短板 3、可靠性弱

二、多機器分層服務化部署

分層服務化部署
2.1、 水平拆分與垂直拆分
什麼是水平拆分?應用層+資料層 =》應用層+服務層 + 資料層 or 代理層 + 應用層 +服務層 +資料層 or 應用層 + 服務層 + 資料快取層 + 資料層
圖片描述
什麼是垂直拆分?
將一個單一業務系統,按照業務邏輯關係拆分成多個子系統。一方面、有助於軟體維護。另一方面、提高整體業務的併發處理能力和功能擴充套件。
圖片描述
2.2 從集中模式分層拆分應該注意什麼
1、應用建議與資料隔離
2、應用與資料連線互動增多,對網路要求極高,建議集中在內網模式。
2、伺服器硬體選型,資料庫的IO互動 程式處理邏輯集中決定需要更多的計算量
3、著重設計資料庫儲存引擎、資料庫表結構等,資料庫的維護成本較高。

三、 分散式架構部署

由於垂直業務越來越多,業務間的互動變得繁雜,業戶系統中存在重疊的業務,重複造了多個輪子。
思想:將各系統平凡需要呼叫到的介面單獨抽離出,作為單獨的系統對外提供服務。
圖片描述
3.1 大型分散式系統架構

1)特點:
  (1)高併發、大流量:PV量巨大
  (2)高可用:7*24小時不間斷服務
  (3)海量資料:檔案數目分分鐘xxTB
  (4)使用者分佈廣泛,服務分機房部署:網路情況複雜:網路運營商

2)目的:
經過分層和分割處理後,可以使更多的計算機可靠的完成同樣的功能。
3)帶來的缺陷:
(1)資料呼叫延遲:由於必須通過網路進行呼叫,在網路介質中的傳輸延時可能導致效能問題。
(2)由於伺服器增多,導致延機,從而降低整個系統的可靠性
(3)資料的一致性出現困難,尤其對於對資料要求實時性很高的應用,分散式的事務處理起來也會比較費勁。
(4)錯綜複雜的網路、應用環境增加維護和管理成本。****
典型架構圖示如下:

典型架構圖示如下:
圖片描述