食堂就餐卡系统架构设计
设计概述
食堂就餐卡系统是一个就餐账户管理系统
功能概述
功能分为三个方面:
消费者
消费者持有自己的消费卡,使用时将卡插入收款机则显示卡上余额
服务员
服务员在消费者插卡后,输入用餐金额对用餐账户进行扣减
管理员
管理员可以在管理中心对消费者的进行注册缴费,也可以监视每一笔消费,并可打印出消费情况的相关统计数据
非功能约束
系统用户量和食堂就餐人数成正比,预计几千到上万不等,日订单预计就餐人数三倍左右。
并发由食堂的客户端决定,预计在几十到几百个客户端不等。
系统并发量、用户量、访问量都不高,但对客户端数据实时性要求很高,对管理中心的统计数据实时行要求不高。
系统部署图
客户端POS机
接受并识别消费者的就餐卡,向服务器请求获取用户的账户余额,向服务器申请扣款,pos机可能有n个,个数在几十到上百个不等
管理中心服务器
服务器负责对消费者账户进行管理,包括账户注册、余额扣减、账户充值、就餐卡挂失等功能
监控服务可以查看每笔消费,可看到统计信息,统计信息可每日定时预计算,可导出统计信息。
因请求访问量、并发量都较小,可部署两台机器,服务无状态,保证可用。
数据库服务器
数据库数据,假设管理就餐账户一万人,每日用餐三次,每日订单3万笔,月订单在百万级别,年订单在千万级别,数据库两台服务器部署一主一从即可,数据定期归档。
系统用例图
管理中心组件图
管理中心服务包含三个组件
客户端持有和管理客户端发起过来的长连接
账户管理负责管理账户的注册、充值、扣款、挂失等
数据统计负责统计账户数据
消费过程场景组件序列图
对于消费过程场景,首先客户端向客户连接管理组件申请查询账户余额,连接管理中心把查询请求交给账户管理,查询到余额后返回。然后客户端申请扣款
版权声明: 本文为 InfoQ 作者【Cloud.】的原创文章。
原文链接:【http://xie.infoq.cn/article/7d16d745d4f8cebd9e5127568】。未经作者许可,禁止转载。
评论