华仔架构训练营作业(模块一)
1.画出微信的业务架构图
分析:微信业务架构
定义:描述微信系统对用户提供了什么功能
功能罗列:
通信录:新的朋友、群聊、标签、公众号、企业微信联系人、星标朋友
导航:发起群聊、添加朋友、扫一扫、首付款、帮助与反馈
搜索:朋友圈、文章、公众号、小程序、音乐、表情、服务
微信通讯:发送语音、发送消息、发送表情、发送图片、发送文件、发送名片、发送位置、视频通话、语音通话、红包、转账、语言输入转文字
发现:朋友圈、视频号、扫一扫、摇一摇、看一看、搜一搜、直播和附近、购物、游戏、小程序
我:支付、收藏、朋友圈、视频号、卡包、标签、设置
粗略从三个维度进行了部分功能的简单分类:基础通信角度、商业化服务、生态。
备注:莫喷,上面的图就是简单画画,微信设计者能给这图气死,咱们是知道滴。
2.学生管理毕设
架构复杂度分析:
高性能:管理 1000 个人。假设每天有 400 人使用,平均使用一小时,系统每天开放是工作时间的 8 小时,并发,400*1/8+根号 50 约等于 57,放个 4 倍 tps 约 230。并发压力也并不高。
高可用:以前读书,学校系统宕机是常事,学生一般容忍个半天也能接受,出问题重启服务器。学生的数据不丢即可,数据需要冗余。
可扩展:都会 java,用 java 开发。
低成本:成本在于要公网域名,服务器的租赁。鉴于是毕设一段时间可用即可,首次注册腾讯云可以免费使用 15 天,三个人都注册,分开注册,一个人先注册,做开发机器,另外两个人快交毕设再注册。买个便宜的域名 20 块钱,成本就是 20。
安全:不需要,如果需要 tomcat 使用自己生产的 https 代替 http。
规模:1~3 台免费机器。
方案一:单机
简单、经济实惠,服务器定时做快照
方案二:2 台免费服务器高性能
高性能、复杂
方案三::2 台免费服务器高可用
高性能、高可用、复杂
最终选择:方案一,遵循架构三原则的简单、合适,并且还经济。
版权声明: 本文为 InfoQ 作者【不听不听王八念晶】的原创文章。
原文链接:【http://xie.infoq.cn/article/f903986d99e382c3aa570c50d】。未经作者许可,禁止转载。
评论