模块一作业
微信业务架构
学生管理系统
架构一:分模块
考虑到该项目为毕业设计(项目使用周期短),大家经济条件都一般(预算少),还需要公网访问,所以考虑将服务部署到公有云上(如阿里云),并购买一个弹性 IP
考虑到大家的技术栈不一样(Java、PHP),采用分模块开发,前端使用 nginx 根据端口进行转发
因为是毕业设计,不考虑数据备份
优点:不同技术栈的同学可以根据模块难度不同开发不同模块
缺点:模块划分较多,模块间交互较多
各个模块需要单独服务器部署,花费较多,维护成本高
架构二:前后端分离
同上部署到公有云上
考虑到大家的技术栈不一样,采用前后端分离模式开发(PHP 同学开发后端业务模块,Java 同学开发前端模块),前后端通过 REST/RPC 接口对接
优点:不涉及服务拆分,单服务花费较少
单体应用出问题容易定位
缺点:任务分配不均衡
最终选择架构一,公有云可以按需购买,花费不会太多;分模块开发扩展性较好
版权声明: 本文为 InfoQ 作者【江南巴飞特】的原创文章。
原文链接:【http://xie.infoq.cn/article/394d7962b91871101cc75c71c】。未经作者许可,禁止转载。
评论