个人介绍
我是程序员客栈的ShamGod。
毕业于商洛学院,担任过神州数码公司的Java初级开发工程师、绿点信息科技的Java高级开发工程师、Java开发小组长
负责过四川银行权益积分商城、中国移动Ap、中国石油App的项目研发
熟练使用Java微服务体系、SpringBoot、SpringCloudAlibaba、Mysql、Redis等常见后端技术
如果我能帮上您的忙,请点击“立即预约”或“发布需求”
工作经历
2022-07-11 -至今西安绿点信息科技有限Java开发
负责中国移动后台整体上云、服务架构调研以及架构升级至alibaba 负责中国移动App的常规版本迭代需求
2021-03-01 -2022-06-01神州数码Java开发工程师
负***宝、银联等第三方支付。针对银行系统的后台进行维护与研发,为四川银行开发权益商城小程序
教育经历
2017-09-01 - 2021-07-14商洛学院电子信息科学与技术本科
英语四级 陕西省第十一届蓝桥杯Java软件算法编程大赛校级一等奖 陕西省第十一届蓝桥杯Java软件算法编程大赛省级个人三等奖 陕西省第十二届蓝桥杯Java软件算法编程大赛省级个人一等奖
技能
中国石油服务App是一款为用户提供全方位油气服务的移动应用。致力于简化用户的油气卡充值、商品购买、天然气预约师傅上门进行维修等操作,为用户创造便捷、高效的服务体验。作为中国石油公司的数字化创新之一,该App整合了多项实用功能,旨在满足用户在能源消费方面的各类需求。 我的职责: 作为中国石油App后台研发部小组长。参与项目的后台技术选型。搭建后台开发工程,按照功能,将工程划分成多个微服务项目。比如登录服务、会话服务、第三方服务、DB服务、门户服务、缓存服务、JOB服务等。 制定后台服务开发规范。编写微服务开发脚手架顶级父类,使用模板策略模式来规定第三方业务的书写步骤,用来对代码进行进一步规范。 编写登录工程代码,开发账号密码登录、短信验证码登录、短信自动登录、*授权登录、支付宝授权登录、苹果授权登录、人脸/指纹登录业务登录方式,使用策略模式将上述登录方式全部高度抽象,维护代码的高可用以及整洁。 配合测试人员,针对项目重点接口进行压力测试以及自动化流程测试,并且针对不满足或者性能偏低的后台接口进行优化、包括缓存优化以及拆分异步调用的方式进行优化。保障业务App的平稳运行,自23年9月上线以来,App用户持续增长,且无功能bug投诉。
漏洞靶场训练平台包含靶场服务,以及用户服务两个小服务。将平时在开发过程中遇到的代码漏洞、框架漏洞等进行封装,将不同的漏洞封装成一个一个的SpringBootWeb服务,并且打成docker镜像,上传至平台以后,通过在平台,开启远程docker虚拟环境,来进行访问不同的漏洞环境,且环境之间彼此相互隔离。用户可以提交在漏洞环境中找到的flag值,校验通过后会给用户增加积分,并且通过设置阶梯难度的方式,从Java基础到Java高级,各个阶段中遇到的不用漏洞进行整理,将网络安全与Java安全这两大区域进行合并,提高用户的认知,以及安全开发意识。 我负责整个平台后端系统的搭建、需求梳理、需求下发,以及重点需求开发。项目技术栈采用微服务架构,SpringBoot为基础环境,数据库采用mysql,使用Nacos来进行配置持久化,Sentinel来进行热点接口熔断限流,redis来做查询缓存。3个月的时间带领团队将该项目从开发到上线,现在作为某科技公司的门户网站。
负责登录与第三方小组需求应用的设计、开发和测试。为组内复杂需求进行方案设计、流程梳理。为整个后台服务的架构升级做先驱技术调研。 针对月初以及月末28号充值日,App后台系统压力大,用户量激增导致下游第三方系统能力不足,压死第三方。在第三方给出的处理TPS理论值的基础上,结合省份的日均调用流量比,计算出31省各自的限流阈值配比,并且整合Sentinel,改造业务代码,适配热点参数限流的方式,在流量入口侧,进行分省限流。保证到第三方的流量始终均衡,不会压垮下游系统。 针对月初自动扣款,设计完整的支付链路、补偿链路流程,引入消息队列来将复杂繁琐的祝福流程与短信通知流程进行解耦,配合延迟队列,为用户进行2次补偿。将支付链路设计的更加优雅,以更为简洁的方式,保障31省每月月初绑定用户进行扣款功能完善,确保成功率为四个9以上 针对复杂的登录工程,将登录与统一认证进行解耦,拆分出会话工程,将登录与创建会话的过程进行解耦,登录只负责登录,会话的创建、校验、注销全部通过会话工程来处理,通过nginx层,来进行业务的转发,将需要校验会话的接口,搭建会话管理平台,通过页面的方式,来对校验会话的接口进行灵活配置。实现解耦。 针对登录服务的代码进行全面架构升级,从原有的Dubbo+ZK的模式,升级为SpringCloudAlibaba,并且将功能进行组件化拆分,使用责任链模式、建造者模式、工厂模式、策略模式来对代码进行优化,将10余种不同的登录方式,全部拆分成不同的责任链,以及根据职能,抽取不同的组件化handler,通过策略模式将不同的登录方式注册成不同的策略,模板化登录代码,使得代码在适配新框架的同时,变得更加通俗易懂。