作业一
画出微信的业务架构图
“学生管理系统”毕设架构设计
根据复杂度架构设计方法论得出的点如下:
需要公开公网访问
开发过程中需要比较多的沟通及协作
用户量少,日常并发较低,偶发瞬时峰值高
备选方案一
优点
方案简单不复杂
使用 nginx + keepalive 提升了服务可用性
MySQL 主备提升了服务的可用性
缺点
业务混杂在一起,代码复杂度较高
备选方案二
优点
方案简单不复杂
使用 nginx + keepalive 提升了服务可用性
按业务拆分了模块,便于维护
MySQL 主备提升了服务的可用性
缺点
业务拆分后增加了子系统之间的交互成本
最终方案
最终方案选择为方案二
选择原因
方案在简单不复杂的基础上使用 nginx + keepalive 提升了服务的可用性
对业务进行了拆分,便于维护及迭代
不对语言进行限定,既可以使用 java,也可以使用 php,但是尽量都使用 java。因为即使存在一个 PHP 高手,能带来的提升也远远无法抵消引入多种语言带着的复杂度,比如某个子系统可能只有一个人能维护了。
评论