1. 精通Java开发语言,有上线OOM等问题处理经验
2. 熟练使用Spring、Mybatis开发框架
3. 熟练使用Dubbo等RPC框架
4. 熟练使用MySQL数据库,有数据库死锁、慢SQL处理相关经验,
5. 熟练使用Redis缓存技术提高数据读取效率
6. 熟练使用消息队列服务技术缓解服务器端压力
7. 熟练使用Maven进行项目开发,可以根据项目实际情况制定Maven依赖管理策略
8. 熟练使用Git版本控制工具
9. 具有多年项目开发经验,有分布式系统开发经验,对新事物有很快的接收适应能力
10. 了解Hadoop,MapReduce等大数据相关技术
上海自贸区(磐石)项目
项目描述:项目主要是为上海自贸区做的库存管理、收银结算等功能的门店作业系统,库存主要来自于京东自营库存,订单分为两种模式:1. 客户在店内选购商品后在收银台进行结算,2.客户通过H5扫码的方式选购商品,在手机端进行下单支付结算两种。
担任职责:负责订单相关业务开发包括PC收银台、H5接口、和主站促销对接等,PC收银台下单包括页面及后台逻辑,H5下单主要提供后端接口,包括下单接口、购物车接口、商品信息接口等
相关技术:1.采用分布式系统架构,按业务模块进行服务拆分,模块和模块直接采用JSF进行交互
2. 采用Redis保存H5购物车信息
异步任务系统
项目描述:系统主要用于在业务系统执行核心业务流程过程中,有些支线流程可以进行异步处理,比如下单完成后回传其他系统等场景,业务系统在遇到需要异步执行的任务时只需要调用异步任务系统提供的jsf接口,将任务报文及相关信息发送给任务系统即可,由任务系统来负责进行异步执行;异步任务系统在接收到任务信息会将任务信息存储然后发送一个自产自消费的MQ来触发任务执行,对于失败的任务有Clover系统进行扫描重试等;系统提供两种任务类型:实时异步任务和延迟异步任务
担任职责:负责系统的运维优化,开发了JFS(报文存储)、JMQ降级模块及任务统一监控模块等
相关技术:1.定义统一的任务执行接口,采用JSF的泛化调用进行远程调用
2. 在动态注册consumer时进行双重检查,避免并发造成的consumer多次注册
3. 任务信息存储采用MySQL数据,数据库表每天创建一张新表,避免任务数量过多时对任务执行产生影响
分布式消息推送系统
项目描述:系统主要用于在时效性要求很高的订单、出库单等重要单据下发到系统中时,推送提醒信息到现场作业人员的PC作业端,提醒操作人员尽快进行处理,消息推送方式包括单次消息推送和循环消息推送两种,使用WebSocket的方式替换原有的ajax轮询的方式,系统单独部署增加了扩展性,减小了生产系统压力;消息推送对外工具HTTP及JSF接口,方便业务系统调用。
担任职责:负责整个系统的设计开发工作
相关技术:1.使用MQ+路由实现分布式环境下有针对性的消息推送,保证将消息推送到相应的客户端
2. 使用Redis实现分布式环境下WebSocket Session共享的问题
3. 使用时间轮结构进行延时循环消息推送