精通java编程,拥有扎实的JAVA基础,抽象能力,具有良好的编程规范和注释习惯
精通Spring框架,研究过Spring框架部分源码,曾对JDBCTemplate进一步封装成通用的数据库访问工具
了解JVM,可进行一些JVM调优
熟悉RPC通信,研究过基于Dubbo,ZK或Spring Cloud架构的微服务框架
熟练使用MQ等消息中间件技术
熟练使用以Redis为存储的缓存服务器集群
熟悉Nginx反向代理
熟练使用Oracle、Mysql等常用数据库,分析sql执行计划,数据库优化
熟练使用常用的linux命令,部署维护开发联调环境
银联B2B支付系统
为响应国家630断直连,支付系统需要断开直连银行,对接银联或者网联,银联的B端商户网银支付没有成熟的支付系统,所以启动了银联B2B项目,由中金支付开发。银联B2B包含了全套的支付系统子模块,包括交易收单、签名验签、业务处理、银行模块、银行订单处理、交易汇集计费、清算、结算、对账、差错、业管系统、商户系统、结算系统等。
在银联B2B项目中我主要负责交易收单、业务处理、交易汇集清结算的设计和开发工作,同时负责工具类的编写,整个项目分8期开发,周期为9个月,迭代上线,系统现在已经稳定,每天成交量上百亿。
支付系统微服务架构改造
随着产品线的增加,底层支付产品不能被复用,系统中业务处理条线杂乱无章,一方面是同样的代码存在多份,维护成本高,另一方面是发生生产事故的概率大大增加,所以启动了微服务架构改造项目,底层支付产品垂直拆分,具体业务逻辑对业务层透明,遵循专业的事交给专业的人做的原则,将各个模块改造为微服务模块,由原来的socket通信改为RPC通信,去掉内部模块通信的硬件设备F5。
在微服务拆分中,我负责聚合支付产品拆分的设计和编码工作,主线分为三层,业务层、转换层、金融网关层,业务层负责业务处理,转换层负责包装支付产品,金融网关层负责和银行模块交互,当有新的市场产品需要使用聚合产品时,只需开发自己的业务模块,直接对接转换层即可。项目中使用MQ消息队列,主要用途是并发消峰,异常推进,异步交易结果通知等。
综合支付
为了提高支付产品在同行业的竞争力,使商户以更简单的方式接入,公司开发了一套含有账户会员系统的产业链金融支付产品,一个接口接入即可使用所有的支付产品,为商户维护会员积分信息,同时也便于使用大数据分析用户的消费习惯。
在综合支付项目中,我主要负责入金各模块的设计和编码工作,包含聚合支付、快捷支付、网银支付,设计子系统交互的接口,对接计费中心,账务,清结算平台等工作。综合支付包括H5页面版和后端接口API版本,页面版已经上线,VIPKID已接入使用,API版已进入测试阶段。