本人所在一个5-7人组成的技术团队担任技术负责人,成立5年来,已完成几十个大小商业、政府、医院等机构的外包项目,如微信小程序:钻石情侣珠宝、汇商加油、熠职牛牛等。
本人在职公司项目:
集团公司以企业服务为主,为数字化转型搭建了一套完整的互联网业务平台,功能包括推广获客的售前流程,支持不同地区的产品SKU组装和定价管理,订单和服务流程管理,各部门的财务结算管理等。
技术团队研发了涵盖集团公司的各个业务系统,主要包含:统一用户体系、“XX财税云”、“XX会计学校管理系统”、CMS_SaaS系统、CRM系统、订单系统、交易系统、服务系统、咨询系统、财务结算系统、营销系统等。
开发人数:10人以上
技术栈:SpringCloud-Alibaba、JPA、Redis、ElasticSearch、RocketMQ
工作职责:整体架构设计,技术选型、业务需求评审,制定开发计划、devOps搭建,核心代码编写、集团公司二方库编写,人员安排和代码审核等。
难点示例:
1、业务流程比较复杂,业务流转状态较多,代码杂乱耦合度高;通过加强CodeReview和使用StateMachine、MQ等组件缓解代码高耦合问题。
2、因业务系统较多,各个用户体系之间的用户互相独立,造成各个系统的用户信息不统一,登录繁琐等问题;通过开发统一的单点登录服务,
3、因业务复杂度较高,数据量较大,查询条件较多(后台订单和服务查询,几十个查询条件),导致SQL性能低下,查询缓慢;多次优化SQL效果甚微,后将多张关联表数据加入到ES中才解决此问题。
4、定期开展的优惠限时活动,大量高并发订单请求,造成应用服务器流量TPS陡增,服务雪崩等情况;通过以下几种方式来削峰:开启网关Nginx限流(漏桶算法),增加缓存查询(商品、SKU等其它基础信息),重构活动业务代码为异步(MQ实现异步订单)、通过提前计算出可参与活动的高净值用户(业务拒绝策略),因服务器资源有限暂未做容器和服务器的动态扩容,通过以上几种方式基本能应付活动的高并发场景。