目录
- 一、功能简介
- 二、技术点
- 三、业务流程
- 四、系统架构
一、功能简介
尚医通即为网上预约挂号系统,网上预约挂号是近年来开展的一项便民就医服务,旨在缓解看病难、挂号难的就医难题,许多患者为看一次病要跑很多次医院,最终还不一定能保证看得上医生。网上预约挂号全面提供的预约挂号业务从根本上解决了这一就医难题。随时随地轻松挂号!不用排长队!
二、技术点
后端:
- SpringBoot:简化新Spring应用的初始搭建以及开发过程
- SpringCloud:基于Spring Boot实现的云原生应用开发工具,SpringCloud使用的技术:(SpringCloudGateway、Spring Cloud Alibaba Nacos、Spring Cloud Alibaba Sentinel、SpringCloud Task和SpringCloudFeign等)
- MyBatis-Plus:持久层框架
- Redis:内存缓存(验证码有效时间、支付二维码有效时间)
- MongoDB:面向文档的NoSQL数据库(医院相关数据)
- EasyExcel:操作excel表格,进行行读写操作
- RabbitMQ:消息中间件(订单相关操作)
- HTTPClient: Http协议客户端
- Nginx:负载均衡
- Mysql:关系型数据库
前端:
- Vue.js:web 界面的渐进式框架
- Node.js: JavaScript 运行环境
- Axios:Axios 是一个基于 promise 的 HTTP 库
- NPM:包管理器
- Babel:转码器
- Webpack:打包工具
- ECharts:图标展示
其他:
- Lombok
- Swagger2:Api接口文档工具
- Docker :容器技术
- Git:代码管理工具
- 阿里云oss
- 阿里云短信服务
- 微信登录、支付
- 定时任务
三、业务流程
四、系统架构
架构设计需要考虑的几个方面:
- 性能:主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存
- 可扩展性:系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件
- 高可用:系统一旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚至是异地多活这类复杂的方案。如果数据丢失,修复将会非常麻烦,只能靠人工逐条修复,这个很难接受,因此需要考虑存储高可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计 MySQL 同机房主备方案;针对机房故障,我们需要设计 MySQL 跨机房同步方案。
- 安全性:系统的信息有一定的隐私性,例如用户的个人身份信息,不包含强隐私(例如玉照、情感)的信息,因此使用账号密码管理、数据库访问权限控制即可。
- 成本:视频类网站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中小型公司可以考虑使用云服务器和云服务。
管理员系统:
用户系统: