橫向次元,每個部分負責單一的職責。上層對下層依賴和調用。
應用層,服務層和資料層
網站越大,不同功能和服務分割出來形成高内聚低耦合子產品單元。
分布式部署,即将不同子產品部署在不同的伺服器上,通過遠端調用協同工作。
資料在分布式環境中保持資料一緻性非常難,分布式難以保證。
分布式應用和服務、分布是靜态資源、分布式資料和存儲、分布式計算、并發和協同的分布式鎖。
zookeeper 的典型的應用場景(配置檔案的管理、叢集管理、同步鎖、leader 選舉、隊列管理等)
多台伺服器部署相同應用,通過負載均衡向外提供服務。
緩存就是放在離計算距離最近的位置以加快處理速度。
cdn:内容分發網絡 、反向代理、本地緩存、分布式緩存。
緩存種類:1. localcache(獨立式): 例如ehcache、bigmemory go 2. standalone(單機) 3. distributed(分布式):例如redis-cluster, memcache叢集等等

一個重要目标和驅動力是降低軟體耦合性。
一個業務操作分成多個階段,每個階段之間通過共享資料的方式異步執行進行協作。
單一伺服器内部通過多線程共享記憶體隊列方式實作異步:處理業務操作前面的線程将輸出寫入到隊列,後面的線程從隊列中讀取資料進行處理。
分布式中,多個伺服器叢集通過分布式消息隊列實作異步,分布式消息隊列可以看做記憶體隊列的分布式部署。
異步架構(生産者消費者模式),異步消息隊列的特性:可用性,加快網站響應和消除并發通路高峰。
資料庫定期備份,存檔儲存,實作冷備份
資料庫進行主從分離,實時同步實作熱備份。
web安全 《白帽子講安全》 吳瀚清
異步推拉模式、多級緩存政策
好的設計絕對不是模仿,不是生搬硬套某個模式。