時間:2023-01-07 09:50
網(wǎng)站開發(fā)—從簡單到復(fù)雜
常常碰到的需求就是,做一個網(wǎng)站,就這樣,和某某某一樣就行……
但是,這個需求可是真不簡單,因為,這個需求等于沒有需求,用戶量、并發(fā)度、頁面是否需要SEO、頁面兼容性、是否需要后臺管理、CDN緩存是否要上等等一概不知……
簡而言之,無效需求……
網(wǎng)站,這件事可以很簡單,也可以很復(fù)雜……
1. 簡單網(wǎng)站
類型: 展示頁,企業(yè)站點,后端 訪問要求不大,SEO要完善
架構(gòu)基本如下
服務(wù)器 1 臺,CDN可選,后臺語言推薦非阻塞的 nodejs,前端語言推薦原生或 jQuery,CSS可以原生來寫, 也可以使用Bootstrap等CSS框架
數(shù)據(jù)庫 非事務(wù) mongodb /事務(wù) mysql或pssql
反向代理 + 負(fù)載均衡 nginx
緩存 redis
2. 中等復(fù)雜度網(wǎng)站
類型: 用戶頻繁訪問的網(wǎng)站, 有一定的并發(fā)要求
架構(gòu)基本如下:
服務(wù)器: 若干 數(shù)據(jù)服務(wù)器, 緩存服務(wù)器, 用戶認(rèn)證服務(wù)器, 業(yè)務(wù)服務(wù)器要分開
后臺語言: Java Golang Python NodeJS
前端: 高業(yè)務(wù)型采用前端框架 vue react, 展示型 采用jQuery
數(shù)據(jù)庫: 讀寫分離, 主從分離, 分庫分表, NoSQL存儲數(shù)據(jù)
緩存: 良好設(shè)計, 定時取熱數(shù)據(jù), 增加緩存命中率, 主從分離 Redis集群
消息隊列服務(wù): 解耦數(shù)據(jù)和行為 MQ, Kafka
日志收集及監(jiān)控服務(wù) flume ELK
3. 高復(fù)雜度網(wǎng)站
類型: 海量用戶訪問網(wǎng)站, 數(shù)據(jù)庫并發(fā)壓力高, 事務(wù)復(fù)雜
架構(gòu)基本如下:
服務(wù)器: 多組服務(wù)器集群, 異地冷備, 同城熱備, AB測試無縫切換, 廣泛的負(fù)載均衡, 代碼Bug追蹤ID
后臺語言: 復(fù)雜多樣, 微服務(wù)化
前端: 和中等復(fù)雜度基本一致, 需要引入組件的全局狀態(tài)管理 redux vuex等機(jī)制
數(shù)據(jù)庫: 多種存儲形式, 流式計算, 讀寫分離, 主從分離, 分庫分表, NoSQL存儲數(shù)據(jù),大數(shù)據(jù)生態(tài)
消息隊列服務(wù)及日志收集服務(wù)
Copyright © 2016-2022 惠友科技-版權(quán)所有