联系我们:010-88559646

  老师群

170086145

  学生群

179326524

209318323

215410234

客服电话:010-88559646

B3-高并发条件下消息队列的设计与实现

时间:2021-03-19        来 源:中国软件杯

 第十届中国软件杯大赛--B组赛题

赛题名称:高并发条件下消息队列的设计与实现

组类:B组(高职)

赛题简介:介绍整个赛题的实现目标、实用价值、涉及技术和整体要求

本赛题要求参赛选手自行设计并实现一种“消息队列”来解决商品营销活动场景中突发流量过大容易宕机的问题。要求不得使用成熟的消息队列产品(如:ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ、MetaMq、Apollo等),设计新颖,用户体验好,禁止抄袭。

赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景

企业新产品进行线上发布销售,利用营销活动引流时,短时间内用户请求过多,流量暴增导致系统挂掉及出现商品超卖等现象。为了解决这一问题,企业要求定制设计一种“消息队列”进行流量削峰,模拟真实营销活动场景和现实需求进行压力测试。

基本功能要求

根据对营销活动的前期调研,要求开发以下主要功能:

1.用户管理:包括用户注册和登录(用户登录无需验证码等),完善个人信息(如电话号码等),统计。

2.商品信息管理:商品增删改查,及定时发布抢购,商品信息包括商品名称、价格、图片、详情等。

3.营销活动管理:制定一种营销策略,某种商品定时发布抢购,根据订购顺序,第1-100名商品1折销售,第101-500名5折,第501-1000名8折,第1001名后商品原价销售。

4.订单管理:订单统计等,按照抢购顺序公示前1000名客户名称、手机号码(星号隐藏第4-7位)及对应折扣。

5.自行设计并实现一种消息队列,能够实现消息队列的基本功能,包括PRODUCER-COMSUMER、PUBLISH-SUBSCRIBE、API完备性、支持Java语言、单机呑吐量万级、消息丢失(接近0)、消息重复(可控制)、文档完备等。

6.模拟高并发场景,使用自行设计的消息队列解决营销活动中流量突发问题。

7.不得出现商品超卖现象。

8.使用JMeter工具进行压力测试,系统运行要求每秒至少支持10000并发,不宕机。

非功能性要求

实现条件:开发环境、实验平台、开发语言、数据库、编译器、涉及硬件等实现条件

1.运行环境:在单机搭载CentOS7.5服务器上测试,8 vCPU,Intel Xeon(Skylake) Platinum 8163、内存:16GB、硬盘:40GB。

注:选手项目并发测试时,可以采用阿里云【抢占式实例】测试,费用大约0.2元/时左右。

2.开发语言及环境不限,建议采用Java,JDK 1.8,nginx1.15,MySQL5.7.26,redis3.0等,提交作品时详细说明部署环境。

3. Jmeter测试方法

建议测试方式,安装apache-jmeter-5.2.1版本,线程数设置5万,Ramp-UP Period:10秒或更长一点。然后使用同步定时器控制下,设置每秒有1万次请求。就是这5万线程攒1万次请求,再攒1万次再请求。

测试数据或平台:提供给参赛者的测试环境和测试数据

开发所需设备及设备指标需求说明

普通PC机或笔记本;

操作系统:Windows7及以上

文档及其他要求

1、系统PPT介绍(包括项目介绍、项目技术、项目功能及截图、项目特点、项目测试环境、项目测试结果等)
2、需求规格说明书(包括项目场景及功能、项目所有技术详细介绍等)
3、产品页面原型设计(包括项目原型发布文件及源文件,工具可以采用Axure、Adobe XD等工具)
4、项目设计文档(包括项目介绍、系统总体设计、系统功能模块详细设计(类图、时序图),注:消息队列功能着重说明)
5、项目测试报告(包括JMeter工具进行压力测试配置说明,消息队列的基本功能测试结果)
6、项目部署资源及说明(包括可执行文件,如利用Java开发,涉及发布Jar包、启动Jar包时读取外部配置文件、数据库sql文件等,以及系统部署说明)
7、用户使用手册(包括项目功能介绍和用户操作)

各评分项及大致占比

1、需求规格说明书:10%

2、产品页面原型:5%

3、应用场景功能实现:30%(包括:用户管理、商品管理、营销活动、订单管理)

4、自行设计消息队列:50% (包括:实现了消息队列、消息队列详细设计文档、消息队列的基本功能测试报告、提供JMeter工具进行压力测试说明)

注:如果采用市场上已有消息队列实现了该功能,本模块最多5分。

5、用户使用手册:5%

初赛作品提交要求

1、系统PPT介绍
2、需求规格说明书
3、产品页面原型设计
4、项目设计文档
5、项目测试报告
6、项目部署资源节说明
7、用户使用手册
8、演示视频(7分钟之内)

【参赛团队作品中团队自主开发部分的软件作品著作权归参赛团队所有,其中具有市场应用及拓展的优秀作品,出题企业具有优先权,可以优先合作开发或者优先购买。另如基于该作品的任何合作升级开发、市场拓展等活动,以及在这一过程中所获得的任何商业费用,出题企业应与参赛团队协商解决。】

出题企业:东软教育科技集团

答疑老师:赵老师  813411853@qq.com

 

主办单位

工业和信息化部

教育部

江苏省人民政府

承办单位

中国电子信息产业发展研究院

江苏省工业和信息化厅

江苏省教育厅

教育部高等学校计算机类专业教学指导委员会

信息技术新工科产学研联盟

执行单位

中国信息化周报

南京江北新区产业技术研创园

江苏软件产业人才发展基金会

南京市软件和信息服务集群发展促进机构

南京航空航天大学

关于我们

客服电话:010-88559646

邮编:100048

联系地址:北京市海淀区紫竹院路66号赛迪大厦18层

网站备案/许可证号:京ICP备05039896号-10     京公网安备 11010802020860号