华仔架构实战营 - 作业 - 模块 1
微信业务架构图
学生管理系统架构
业务架构图
系统架构设计 - 方案 1
部署在本地的物理机上,应用采用单体的模式。前端由 Nginx 提供通用的公网入口,同时作为负载均衡,将请求按照 hash 的方式转发到后端的 2 台应用服务器上。数据保存在 PostgresSQL 数据库中,同时提供一个备份数据库。
优点:单体的设计,部署容易。若学校提供物理机,则费用低。
缺点:Nginx 是单点,若出现故障,则整个系统无法访问。另外,除了应用本身,数据库的备份也需要人员维护。
系统架构设计 - 方案 2
部署在公有云 Azure China 上,应用采用微服务的模式。前端使用 Azure 提供的 PAAS 服务 load balance 作为访问应用的唯一入口。请求会转发到各个子系统的服务器上。数据库使用 Azure 提供的 MySQL 服务。该服务默认会提供 3 份备份在不同的区域,进而保证并实现高肯用。
优点:无论是前端的 load balance, 还是后端的数据库,都实现了高可用,从而提高了应用本身的性能。
缺点:微服务的架构,增加了应用部署的复杂度。另外上云,增加的额外的成本。
推荐
考虑到终端用户只有 8000 人,对应用对性能要求不需要太高。同时考虑到成本问题,推荐使用方案 1。
版权声明: 本文为 InfoQ 作者【曲元洪】的原创文章。
原文链接:【http://xie.infoq.cn/article/035389789a76d5a88768dd3b2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论