Talk is cheap , Show me the code.
題記雖是“放碼過(guò)來(lái)”,但這里還真沒(méi)代碼什么事。主要是記錄一下整個(gè)商城的服務(wù)搭建與優(yōu)化。一切的開始都是從問(wèn)題的發(fā)生說(shuō)起,商城前端APP接口,WAP頁(yè)響應(yīng)慢, 經(jīng)常502 bad geteway,我們幾個(gè)小組負(fù)責(zé)人要查問(wèn)題解決問(wèn)題啊,那就從環(huán)境查起吧,一個(gè)個(gè)優(yōu)化項(xiàng)排查,錯(cuò)誤日志監(jiān)測(cè),然后再分析代碼,修改Bug。恩,這樣就算解決問(wèn)題了吧。不!還是一樣的情況,該怎么崩潰還是怎么崩潰,不留一點(diǎn)情面。事情到這了肯定還得繼續(xù)查下去啊,但是系統(tǒng)太過(guò)復(fù)雜,要想完整而又細(xì)致的梳理下去,需要的事情周期就會(huì)非常長(zhǎng),這肯定是領(lǐng)導(dǎo)們不能接受的啊。正好公司內(nèi)部在部署阿里云專線的業(yè)務(wù),索性咱們就著這個(gè)機(jī)會(huì),來(lái)一次系統(tǒng)大遷移吧(主要是其中商城后臺(tái)和整個(gè)公司系統(tǒng)服務(wù)有交互,走內(nèi)網(wǎng)會(huì)更穩(wěn)定安全,另外商城服務(wù)優(yōu)化需要從環(huán)境開始梳理,正好也是個(gè)機(jī)會(huì))。好!就這么干。
相關(guān)服務(wù):
* CDN 服務(wù)
* WAF 服務(wù)
* RDS /主從/服務(wù)
* OSS 服務(wù)
* ECS 服務(wù)
* Rsync 同步代碼
* NFS 圖片服務(wù)器掛載
* Redis 緩存數(shù)據(jù)庫(kù)
專線部署
? ? ? VPC:網(wǎng)關(guān),路由規(guī)則需要打通本地局域網(wǎng)與阿里云專線網(wǎng)絡(luò)
? ? ? 黑白名單,網(wǎng)關(guān)規(guī)則
環(huán)境搭建
? ? ? 硬盤掛載:阿里云云盤格式化,掛載,自動(dòng)掛載
? ? ? 圖片服務(wù)器NFS:網(wǎng)絡(luò)硬盤掛載
? ? ? 緩存服務(wù)器Redis:開放端口(用戶名/密碼),iptables訪問(wèn)控制
應(yīng)用部署
? ? ? 代碼:git clone
? ? ? 定時(shí)任務(wù)遷移
? ? ? 掛載圖片文件目錄
? ? ? nginx,php環(huán)境安裝:腳本
? ? ? 數(shù)據(jù)庫(kù)RDS:一鍵切換網(wǎng)絡(luò)
? ? ? 修改配置項(xiàng):系統(tǒng)網(wǎng)絡(luò)相關(guān),nginx服務(wù),php服務(wù)
? ? ? 負(fù)載均衡掛載部署好的應(yīng)用服務(wù)器
基本上涉及到的點(diǎn)都列完了,現(xiàn)在系統(tǒng)遷移工作完成了,具體的結(jié)構(gòu)如下:

按:代碼部分還在優(yōu)化,不過(guò)遷移之后服務(wù)確實(shí)穩(wěn)定很多,另外后來(lái)遇到過(guò)惡意刷量,所以需要考慮安全部分,其次緩存服務(wù)不夠健全,需要完善,再然后分部署數(shù)據(jù)庫(kù)部署正在進(jìn)行中.