写点什么

模块一作业

作者:joak
  • 2022 年 5 月 17 日
  • 本文字数:1391 字

    阅读完需:约 5 分钟

模块一作业

一、 微信的业务架构图


整个微信的业务架构由微信基础服务、个人微信服务、企业微信服务三部分构成。

(1)微信基础服务提供所有服务的基础:聊天、通讯录、朋友圈、钱包、用户、小程序、搜一搜;

(2)个人微信服务主要为对个人(对私)服务,主要提供中间业务服务(生活类、金融类、出行类)、再提供文档和小消息发布订阅类服务(公众号)。

(3)企业微信服务主要为对企业/政府(对公)服务,主要提供邮件、文档、已经 OA 类(审批、客户关系维护、效率办公)


二、"学生管理系统" 毕业架构设计


(一) 合适原则:

  1. 开发人员全部会使用 java 开发、建议采用 Java 语言开发体系。

  2. 经济条件一般、建议采用云产品(主要设备为服务器,DNS 为免费设置),例如阿里云/腾讯云/华为云

(二)简单原则:

  1. 由于是毕业设计、建议采用单体应用+集群的部署模式进行【部署较为简单】

  2. 用户量较少、建议采用通用易懂的关系数据库进行处理【学习成本较低|Java 和 MySQL 非常通用】

  3. 建议采用开源度较高的通用 java 开源的管理系统去实现,减少权限和用户的开发,更加关于业务,例如 Ruoyi/jcccgBoot【前提一定是单体架构】

(三)可扩展原则:

  1. 系统本身是为毕业设计服务、用户的访问量较低。建议本身系统支持数据不丢失、应用不宕机,就已经满足其扩展性。


方案一:

(1) 由域名的 DNS 进行解析,一个域名对应两个主机地址(在阿里云中是支持),通过阿里云的 DNS 进行负载均衡处理(不建议购买 SLB 负载设备处理费用较高),

(2)购买两台阿里云 ECS 服务器,每台服务器分别部署应用和数据库,

(3)数据库采用主从复写模式,数据库采用 Mysql

(4) 应用采用单体架构+集群部署模式,采用 ruoyi 的系统框架实现,只注重业务开发

优点:保证高可用由 DNS 切换,管理系统的基础功能(权限管理、用户管理)、保证数据的高可用性(数据不易丢失)

缺点:费用稍微高一些,设计应用时要注意 session 不能共享问题。


方案二:

(1)购买一台阿里云 ECS 服务器,和购买阿里云的 Oss 存储【成本:0.5 元/天】

(2)单台服务器分别部署应用和数据库

(3)数据库采用 MySQL,每个一个小时向对象存储存入数据库增量数据

(4) 应用采用单体架构+集群部署模式,采用 ruoyi 的系统框架实现,只注重业务开发

优点:与方案一比较节省费用、设计应用时不需要注意 session 共享问题。

缺点:不具备高可用功能、数据只能找回一定时间之前(例如要求每隔 1 小时,上传到 OSS 存储上数据,那只能找回宕机之前的数据)存在一定的数据差。

方案三:

(1)购买一台阿里云 ECS 服务器,和购买阿里云的 Oss 存储【成本:0.5 元/天】

(2)单台服务器分别部署应用和数据库

(3)数据库采用 Derby,每个一个小时向对象存储存入数据库增量数据

(4) 应用采用单体架构+集群部署模式,采用 ruoyi 的系统框架实现,只注重业务开发

优点:最节省费用【数据库和应用集成到一起了服务器的要求可以降低】、设计应用时不需要注意 session 共享问题。

缺点:不具备高可用功能、数据只能找回一定时间之前(例如要求每隔 1 小时,上传到 OSS 存储上数据,那只能找回宕机之前的数据)存在一定的数据差,此处每次上传数据都是全量备份。


最终方案:

建议采用方案一,

(1)只要用于毕业设计,整个购买的成本平均会很低【方案一只比另两个方案相差 230.00 元左右,整个项目的周期也就一个月】

(2) 系统架构比另两个方案,架构稍微复杂一些【高可用这块,同时采用了 MySQL 数据复写功能】,在答辩时,考官会根据相关的功能,评分会较多些。

发布于: 刚刚阅读数: 5
用户头像

joak

关注

还未添加个人签名 2019.10.31 加入

还未添加个人简介

评论

发布
暂无评论
模块一作业_joak_InfoQ写作社区