华仔架构设计 - 模块 1 作业
微信业务架构图:
针对微信业务架构分析,主体分为好友管理模块为基础,聊天业务、朋友圈、钱包、小程序等业务,下面画出相关模块的核心功能点.
学习管理系统架构设计:
能够支撑管理 1000 个学生, 设计下面几套结构,分析对比如下:
技术难点分析: 需要保证数据高可用,学生系统资料不允许丢失。
方案 A: nignx + 单服 + Mysql 主备
方案 B: nignx + 业务服务集群 + Mysql 主备
方案 C: nignx + 业务服务拆分 + Mysql 主备
下面从多维度比较架构优缺点:
方案 A 方案 B 方案 C
复杂性 结构简单易快速开发 结构简单易快速开发 业务需严格分拆到多服务、隔离
可用性 单点故障 多点集群保证可用性 单点故障
可维护性 停服维护、简单但有损业务 可做到无损业务更新 有损业务更新
可扩展性 需设计成合理的微内核设计 同方案 A 可按业务不同模块按需拆分
成本 前期研发简单,服务内部沟通 同方案 A 增加分拆的理解、研发维护成本
综合考评下来,根据当前资源(3 人研发), 1000+在线用户场景:
方案 A 不具备业务稳定性要求
方案 C 不具备合适原则,目前的研发人手存在问题,业务复杂度、系统的瓶颈均为达到.
不具备简单原则, 引入了业务拆分,存在理解门槛,以及运维、故障定位的门槛
方案 B 会更适合前期业务的快速迭代以及合理升级上线。
评论