孙家宝 ID:166291 复制

孙家宝

高级Java开发工程师 · 5年经验 · 汉得信息技术股份有限公司
城市上海 杨浦 日薪1000元/8h 时间 下班后周六周日
0
累计接单
0
用户评价
0
被收藏

技术能力

AI 技能提取 | MySQL Oracle 分布式 Spring Cloud Spring Java Redis MongoDB Vue React Node.js TypeScript
1. 5年Java Web开发经验。
2. 熟练掌握Spring Cloud体系的分布式系统开发。
3. 熟悉node,Typescript,React,Vue等前端技术
4. 深入了解Oracle、Mysql关系型数据库
5. 熟悉MongoDB、Redis非关系型数据库
6. 熟悉互联网金融行业,资金清算结算平台的建设。

项目经验

合同管理系统2017.06-2017.10
技术经理
λ 工作内容:
1. 实现文件分布式存储。
2. 完成Office文件在线预览、编辑、pdf转换功能。
3. 实现标准合同模板填充功能。
4. 实现文件签入、签出锁,实现文件版本管理、差异比较功能。
运用技术:
Java IO,Spring,SpringMVC,Mybatis,FreeMarker,MongoDB,Oracle。
项目问题:
1. 合同文件数量大且十分重要,传统的集中式文件管理难以保证可用性、容灾性。
2. 实现Office文件在线预览。
3. 实现标准合同模板填充、文件版本管理和差异比对。
4. 多人同时修改文件时,会产生冲突。
解决方案:
1. 搭建MongoDB分片加副本集高可用集群,利用其GridFS文件存储规范,实现文件的分布式存储。
2. 对比在服务器安装Libre Office,调用接口将文件转换成PDF实现在线预览的方案。最终选择了集成Office Online,实现WOPI协议接口,完成Office文件在线预览、编辑、pdf转换功能的功能。
3. 结合Word文件域功能,将需要填充的内容,进行域定义。然后使用FreeMarker模板引擎,将合同主数据填充至预先定义的域字段中。
4. 文件的同时修改,本质为一个分布式锁问题。为了实现方便,采用了在数据库中给文件操作打上标记来记录是否被正在被修改。使用用户ID作为锁标记,使锁可重入;记录锁失效时间,超时释放,避免死锁。
后续思考:
1. 可采用Java NIO技术,利用虚拟机外内存对IO操作进行优化。
2. 分布式锁还有Redis setnx和expire命令,以及Zookeeper分布式锁的实现方案

客户关系管理系统2016.08-2016.12
技术顾问
工作内容:
1. 产品、商机、报价模块的设计和开发。
2. ESB总线产品、客户、商机主数据推送接口的实现。
3. 操作记录功能的实现。
4. 客户分配策略的实现。
运用技术:
Java反射,Spring, Spring AOP,SpringMVC, Mybatis, Vue.js
项目问题:
1. ORM框架一般需要很多从数据库表到业务类的代码,人工书写容易出错。
2. 如何实现操作记录比对。
3. 日志存储失败会对业务数据存储进行回滚。日志存储操作阻塞了正常业务逻辑,影响执行效率。
4. 需要根据客户所属的行业或地域等信息作出其归属团队的判定,如何实现可配置的判定策略。

解决方案:
1. 分析Mybatis Generator源代码,使用Spring Boot和Vue.js开发了一个代码生成器。利用Jdbc获取数据库元数据和数据库表信息,实现了根据数据库表自动生成DTO、Mapper、Service、Controller的可视化代码生成器。
2. 最初设计的方案为数据库触发器实现,但影响数据库操作效率,移植性差。最终采用Spring AOP,拦截通用Mapper接口,结合自定义注解和反射,在执行插入、更新、删除操作时分析操作记录。
3.主事务方法中使用NO_ROLLBACK_FOR屏蔽日志异常,避免回滚主事务。但日志操作仍然会占用主事务执行时间,最后采用将日志操作任务提交给线程池异步处理。
4. 使用策略模式定义判定策略,使用责任链模式判定结果,对判定策略做缓存处理,仅在策略配置变化时做刷新操作,使用可重入读写锁,保证读与读不阻塞,读与写想阻塞。
后续思考:
1. 对于日志操作更加优雅的方式可以为,接触Kafka等消息中间件,在需要记录日志的地方发送日志存储队列,在日志处理类中订阅该队列,消费日志信息进行存储。可以更好地与业务逻辑相解耦。
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

微信沟通 立即沟通 立即预约
平台担保交易 · 1小时内不满意可退款
微信扫码,建群沟通

平台信誉与实力

基于 35,336 需求方信任

  • 支付宝企业信用分 优秀 评级
  • 市场份额约占全行业三分之一
  • 程序员兼职行业全能首选平台
查看平台资质详情
相似人才推荐: