写点什么

模块一作业

用户头像
张平
关注
发布于: 刚刚
  1. 画出微信的业务架构图


参考链接: https://weixin.qq.com/

我的思路是这样的:其实,我本身对微信的业务不太熟悉,所以首先在查询了微信的业务图,参考的是微信的官网,https://www.tencent.com/zh-cn/business.html,我个人认为微信总体分为三大业务板块;1. 社交通讯; 2. 微信支付和钱包;3. 三方平台;

社交通讯,就是手机和电脑终端的通讯录管理和聊天,以及朋友圈和直播,视频号;还有针对企业用户的企业微信。

支付板块,涉及到微信支付和香港钱包,马来西亚钱包;

三方平台,我这边按照用户群的不同分为了 2 类,一类是对技术人员来说的对外开放的平台,比如各类接口 api 的接入;另一类是对普通大众和买卖商家开放的平台,我这里定义不准确,我这里定义为公众平台,也不知道该取个什么名字好,暂定这名字吧。

虚线---逻辑意义上的划分板块,实线---具体的业务功能模块。


  1. 按照面向复杂度设计的架构思想,从合适,简单,演化原则出发,即(合适,从当前业务的实际情况出发,根据团队人数和技术能力;简单,适合当前业务的技术体系,能演化;演化,可以从可扩展,可伸缩,高可用高性能方向演进)。


方案一:

 a.   经济条件一般,不花大钱。尽量使用免费的中间件;
b. PHP高手来写前端,其余2人写java后端,做前后端分离;php页面作为静态文件放在Nginx上;
b. 支持1000人的访问,按照业界的算法,峰值也最多算100,流量很小。5台服务器,1台装请求分发器,2台应用服务器,2台存储;---配额足够了。
花钱的地方:域名注册+解析+实名认证,一般一年是200元左右; 租用服务器,在学校里租较便宜。如果上阿里云买,那5台也得15000左右,每人出5000搞毕业设计,不太划算,也没人愿意; 假设每个人都有电脑,再租2台电脑也就可以了;
复制代码



优点:合适;(人员安排:3 个人,1 人 php 写前端,2 人 java 写后端接口; 技术上,安排人员开发效率高);

简单;应用端和存储端相对简单;

演进;应用端可水平扩展;

缺点:暂无;


方案二:

a. 花钱买3台服务器,4c--16g;域名注册+解析+认证--200;b. 因钱少,所以3台,一台做nginx分发,2台中每一台都安装应用和数据库;数据库是一个服务器一个数据库,做主备;
复制代码


特点:合适:人员配置和技术能力,资源有限的情况下,也是合适的;

简单:技术和部署比较简单;

演进:不太适合演进;

方案三:

a. 花钱买2台服务器,4c--16g;域名注册+解析+认证--200;b. 不用nginx,用DNS;c. 都用java开发,打成一个程序包,分别部署在2台服务器上;数据库也是一个服务器一个数据库,做主备;
复制代码


特点:

合适: 技术上简单,一个程序包部署在 2 台机器上;数据库也是如此;

简单: 适合峰值很小的量级;

演进: 相对来说,业务服务器没有影响,存储需要扩展,并且无法做到高可用,故障率高;


总结: 还是方案 1 合适;

不管怎么画架构图,业务部分服务器至少需要 2 台,数据库主备至少 2 台;如果资源有限,只能将数据库落到应用服务器上去部署;


用户头像

张平

关注

还未添加个人签名 2021.05.12 加入

还未添加个人简介

评论

发布
暂无评论
模块一作业