1

项目名称:DMall OS 基础打印平台

我要开发同款
夏日彩虹2023年02月08日
83阅读
所属分类电商

作品详情

项目描述本项目为DMall WMS定制化版本,实现不同样式的打印单据,进行WMS系统对接,提供打印单据下载功能。DMall OS基础打印平台考虑到高吞吐量的单据打印要求,需要能满足5Wqps的吞吐量规模。项目技术springboot + spring cloud + mybatis-plus + dubbo + redis cluster + RocketMQ + seata+elasticsearch + xxl-job个人职责1.负责项目的整体架构和技术选型。基于系统业务分离、减少耦合的原则,系统搭建采用SpringBoot微服务架构。未来几年单据打印任务数量激增和单位时间并发量考虑(千万级),参考大型互联网公司的平台架构,对流量进行了流量分析与预估,并进行系统的整体架构,技术分层架构,满足支持千万级用户的并发访问要求。创建系统多层次架构体系:缓存层:使用Redis作为缓存中间件,并采用集群方式进行部署,用于存储单据数据。jvm级内存存储单据模版数据和系统的配置数据。调度层:采用Elastic Job分布式任务调度框架创建多个job。数据层:使用MySQL主从数据库,多数据库集群部署,存储业务数据,以实现承载100000QPS。2.基于提升系统响应速度的考虑,在项目中引入了Nginx。引入了一个master主进程和多个worker进程,以实现系统的高可用性。3.出于项目代码未来可扩展与利于维护的目的,项目代码中使用了策略模式、模板方法、单例模式等设计模式。4.为了让系统响应及时,提升系统性能与用户体验,采用异步的架构设计,把生成pdf、上传pdf到分布式文件系统、回调接口异步通知任务状态与打印任务存库操作进行了异步分离,提升用户体验。接口之间的服务采用Dubbo进行RPC调用,WPS打印任务数据通过开放平台MQ进行对接。5.使用MySQL主从数据库集群来存储业务数据,主从节点之间使用Elastic Job来创建定时任务,进行主从数据库同步和备份工作。例如:打印任务数据等。6.提高系统的性能,程序中使用多级缓存架构设计。项目的配置参数、从数据库读取出来,加载进入Guava缓存框架中;Freemarker生成的template文件加载进入JVM的map缓存中。通过这样的设计可以减少多个打印任务执行时的文件的加载时间,提高系统的性能。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论