模块一作业:微信业务架构图 & 学生系统技术架构图

1. 画出微信的业务架构图
 
张小龙说过,面向场景来做产品设计,而非功能列表,功能是服务于场景,没有孤立的功能。所以,我们首先基于微信的现有功能来做场景分析:
 
微信最核心的场景当属社交了,在这个基础上,发展出来了娱乐、支付、金融理财、电商、购物消费、生活服务、交通出行等场景。而在微信客户端原有基础上,又发展了公众号、小程序为载体,来支撑这些应用场景。现有的功能列表来做分析,会非常头大,会发现有很多的维度。所以我们划分一些核心场景域,再找出通用域支撑域。为了直观点,划分为社交、娱乐、服务。
 
 
 

社交场景分析

  • 聊天、视频
  • 联系人、朋友圈
  • 摇一摇、附近

娱乐场景分析

  • 短视频、直播
  • 看一看、搜一搜
  • 游戏

服务场景分析

  • 支付
    • 钱包
    • 银行卡
    • 收付款
  • 金融理财
    • 信用卡还款
    • 微粒贷借钱
    • 理财通
    • 保险服务
  • 生活服务
    • 手机充值
    • 生活缴费
  • 交通出行
    • 出行服务
    • 火车票机票
    • 滴滴出行
 

 

 

2. “学生管理系统”毕设架构设计

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下: 1 要求可以通过公网域名访问;
2 要求至少3人合作完成;
3 能够支撑管理1000个学生;

4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。

你找了 2 个好朋友一起来做这个项目,你们的基本情况如下: 1 大家都会Java,但是有一个是PHP高手;
2 大家经济条件一般。

作业要求:
1 对照面向复杂度架构设计方法论,构思2个以上的备选架构方案。 2 使用PPT来画出你的备选架构方案,并说明方案的优缺点。
3 给出你选择的最终方案以及选择理由。 

 

分析:

1. 需要公网可以访问,需要有公网域名和公网IP,暴露都公网需要考虑安全性

2. 至少三个人合作完成,大家需要根据个人技能分工,java用来开发后端服务,PHP可以用来写前端页面。

3. 经济条件一般,无需够买物理机,成本太高,可以用云上产品。

4. 能够支撑管理1000个学生,说明请求量短期不会激增,无需考虑大并发。

 

方案一

考虑到安全和成本,利用云上的VPC和安全组,为安全保驾护航。云上ECS按量付费,成本不会很高。前期前后端部署再同一台ECS上,部署两个副本,防止单节点故障。数据库使用云上的RDS,可以节省成本,也能免运维维护。

 

 

方案二

服务容器化,利用云上的VPC和安全组,为安全保驾护航,将前端服务和后端服务打包成容器,利用云上K8s的快速CICD能力,实现代码快速部署。数据库使用云上的RDS,可以节省成本,也能免运维维护。

 

最终方案

我选择方案一,符合简单原则

 

 

 

 

posted @ 2023-09-10 20:06  第十一个程序员  阅读(132)  评论(0编辑  收藏  举报