JIYI PAN

JIYI PAN

Mechanical Engineer

Followers of JIYI PAN1000 followers
location of JIYI PANPeking, Čína

Connect with JIYI PAN to Send Message

Connect

Connect with JIYI PAN to Send Message

Connect
  • Timeline

  • About me

    Software engineer

  • Education

    • University of Southern California

      2019 - 2020
      Master's degree Mechanical Engineering 3.7
    • Auburn University

      2015 - 2018
      Bachelor's degree Mechanical Engineering 3.44
  • Experience

    • Freedman Seating Company

      May 2018 - Dec 2018
      Mechanical Engineer
    • CITIC Dicastal

      May 2019 - Aug 2019
      Test Engineer
    • 美团

      Mar 2021 - Apr 2022
      Java软件工程师

      1. 账务系统能力升级-线上汇款支付渠道落地- 独立开发线上汇款支付链路,解决了在用户层面无法线上还款,以及后台人工核对准确率低的问题。- 基于账务系统使用SpringBoot框架,新增线上还款链路,使用MCC平台实现对于系统配置的热修改从而提升效率。- 项目上线后,节省成本约5万元/月,同时降低相关客诉约30%。2. 账务系统架构重组-标准化和单元化- 由于请求量日益增长,导致了账务系统在横向扩容的经济性下降,且后期维护性的成本大大增加。为解决系统扩容和容灾问题,项目组决定对系统进行重构 。- 采用RPC调用的方式对系统进行解耦,并将系统分为服务层和核心层。由核心层统一处理基础指令,服务层对外提供接口,采取多次调用核心层以实现复杂指令处理。使用2PC的方式保证分布式事务,同时解决并优化了历史遗留问题,使代码复杂度降低10%。- 对账务系统进行单元拆分,通过对账户id后三位判断来进行单元路由拆分,以确保不同单元之间的独立性和数据隔离性。项目上线后压测数据可达峰值2倍。3. 账务系统容灾能力建设- 在账务系统单元化建设下,需要对原有数据容灾能力进行更新换代,新容灾能力采用三大块设计:数据状态控制层、数据校验层、数据修复层。本人独立负责数据状态控制层开发工作。- 接入层基于SpringBoot进行开发,使用有限状态机模型控制数据单据状态流转,可以实现在失败状态下的快速恢复。- 使用Redis锁在分布式系统中确保资源隔离。- 使用异步线程池提升服务响应率,将主服务的数据不可用时间缩短50%以上。- 使用黑名单机制,防止错误数据读写造成进一步资损;基于lion中间件平台实现对黑名单版本的主动下发;采用thrift调用,确保分布式系统下各机器黑名单一致性。- 项目上线后,在仿真环境演练中,保证在数据库发生故障后秒级响应,且数据恢复时间控制在120秒以内,同时做到修复后数据百分百正确。 Show less

    • Advance Intelligence Group 领创集团

      Aug 2022 - Apr 2023
      Java软件工程师

      1. 银行财务数据处理服务- 在我司和渣打银行开启业务合作模式后,我司需要基于渣打银行的投资金额进行详细的报表推送,并汇总各个业务线相关的资金流水情况,流程需定时通过邮件、对象存储技术(Alibaba OSS、Amazon S3、Google Cloud)实现文件传输。- 通过接入Nacos实现对文件结构的热修改,从而降低频繁上线的研发成本。- 报表通过非对称加密手段确保文件安全性,同时为了确保其可用,采用sftp进行上传,实现备份。- 采用SpringBoot定时任务进行检查,同时接入飞书alert实现快速感知,从而实现对于上传失败的文件进行重新上传。- 通过对整个业务线进行了解,积极和上游进行沟通协作。对数据结构进行调整并使用缓存技术,最终将文件处理时间缩短百分之80以上,并同时降低人力成本2人。 2. 财务数据处理能力扩展- 由于数据接收和处理同处在财务系统,在面对接入多业务线数据时会导致处理明显时间变长,且会发生阻塞的问题。基于该情况本人针对高耦合下的系统进行拆分,将其分为数据接收服务和数据处理服务。- 采用异步线程池异步处理各业务线数据,并使用RabbitMQ消息队列降低服务器压力。- 对不同的业务类型数据创建任务进度数据,使用Spring定时任务创建扫描功能,对失败任务进行重试。- 通过Dubbo对外提供主动拉取信息接口,实现对数据完善的二次兜底。 Show less

  • Licenses & Certifications