架构实战营 模块一作业
微信業務架構圖

學生管理系統 架構設計
方案一

優點
子系統間不會互相影響,當一個子系統有問題時並不會影響其他子系統的使用。
擴充業務較容易
有主備數據服務器,數據不怕丟。
缺點
運維成本較高
需要的機器數量較多
方案二

優點
只需要部署一個應用,運維相對單純。
在應用內分模塊,對於開發來說複雜度較低。
有主備數據服務器,數據不怕丟。
缺點
業務服務器單點失敗,有主備數據服務器也無用。
方案三

優點
在應用內分模塊,對於開發來說複雜度較低。
有主備數據服務器,數據不怕丟。
業務服務器有兩台可以支撐請求,一台掛了還有一台可以提供服務。
缺點
運維比方案二稍微複雜
最終方案抉擇
選擇 "方案三"
理由
合適原則:
因為團隊只有三人,且沒有提到是否有拆分為服務的經驗或能力,所以以最容易實現的單一應用實現比較合適。
因為三人經濟條件一般,服務器可能買或租不了太多台,所以最基本一台 nginx、兩台業務服務器(load balance、避免單點失敗)、兩台數據服務器 (主、備) 應該是最低要求了。
簡單原則:
在單一應用內拆分模組的複雜度比拆分為服務的複雜度低,運維成本也低。
數據基本要求是不能丟,所以至少要有主備才有機會災後復原。
演進原則:
當前只需要支撐 1000 人的使用量,不需要設計的太複雜。
先完成畢業設計的基本需求,未來如果有額外的業務需求未來在考慮即可。
版权声明: 本文为 InfoQ 作者【孫影】的原创文章。
原文链接:【http://xie.infoq.cn/article/84e571107cfb8f7565e38ecad】。文章转载请联系作者。
评论