# JDL_Repecharge **Repository Path**: henrydai/jdl_-repecharge ## Basic Information - **Project Name**: JDL_Repecharge - **Description**: 京东复赛-配送时效API设计 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-27 - **Last Updated**: 2022-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JDL_Repecharge #### 介绍 京东复赛-配送时效API设计 # 赛题信息 ## 题目背景 中国一年的快递运单量已经超过800亿,占全球六成以上。用户不仅关心运单能完好无损地送达,还越来越关心运单的配送时效,是否也能又快又准地送达。 在丰富多样的物流场景下,其中有一个比较简单的场景是用户选择快递公司下一个快递运单,运单在派送到目的地址过程中可能经历的流程:①快递公司的快递员上门揽件,将用户寄送的物流打包成运单; ②快递员携带运单返回配送站,开始派送运单,运单要从始发城市中转到目的城市;③运单到达目的城市配送站后,快递员开始将运单派送到用户家里。 那么,用户在下快递运单过程中,快递公司实时告知用户预计配送时效,以此让用户获得更好的服务体验。针对上述物流场景的配送时效需求,我们设置了“运单配送时效服务”工程实践类赛题。 ## 任务要求 参赛队伍根据我们提供的数据集进行算法设计,数据集包括揽收时效数据,中转时效数据和派送时效数据。然后搭建Java工程,实现运单配送时效计算接服务,发布成RESTul风格的接口,并编写测试用例验证算法正确性和接口性能。最终输出性能测试文档,要求在持续稳定压测30分钟+的前提下,单次运单配送时效时效计算TP99< 30ms,平均每核CPU承载QPS > 200。 除此之外,本赛题另有两个限制: 限制1: JVM -Xmx=2G,其余参数可自由调优。 限制2∶日志输出频率>= 10M/s。一个良好的工程实践,日志优化是很重要的一环。合理的日志输出,可以帮助工程师快速地定位出线上问题;但是大量未经调优的日志输出,对程序性能则有很大的影响。 ## 作品要求 提交作品包含代码文件,设计文档和性能测试文档。代码文件压缩包,包含源代码、测试代码、安装及使用说明、最终结果分析说明(含硬件配置、计算时间,过程及结果)。设计文档,至少包含存储方案选型,数据结构设计和算法实现思路。性能测试文档,至少包含测试环境运行时的CPU%、GC log.QPS、TP99等关键数据。 ## 评价标准 优先考虑运单配送时效接口响应时间是否满足要求(TP99<30ms),在响应时间符合要求的前提下,再比较应用程序的吞吐能力(Throughput) ,平均每核QPS高者取胜。