1、扎实的java语言基础和基本jvm调优;
2、会使用Struts2、Hibernate、Spring、SpringMVC、MyBatis、SpringBoot和SpringCloud整合开发;
3、掌握微服务编程,同时熟练使用redis、nginx、dubbo、docker等技术。
4、掌握Tomcat、rabbitmq、Web等中间件,会使用maven、svn、firefly等版本控制工具和linux下的运维;
5、熟练使用db2、Oracle和mysql等主流数据库、IDE或者Eclipse开发工具、powerdesigner和PLSQL Developer、DBVEAR等数据库工具;
6、熟练使用JSP、Ajax、jQuery、JqueryEasyUi、HTML5编程开发;
参与项目:某大型新闻网二期
项目工具:IDE、jdk,xshell、jekins、dbeaver、robo3t、jekins和TortoiseSVN
项目技术:java、springboot、quartz、mysql、shell、mongodb、eleasicSearch、redis
项目描述:集成quartz,实现分布式的定时器开发。主要负责微服务scd模块内的稿件实时采集、稿件定时读取工作、site模块的稿件定时读取同步入库的需求分析、设计、开发、版本部署和测试工作。
1、scd工程:
1)中通社、经贸通的稿件根据不同站点服务器(北京、纽约和香港)定时从对应ftp服务器读取,利用ftpclient进行ftp的一系列文件操作(下载(图、文)--》读取--》入库(mysql)--》本地输出JSON文件--》上传特定对应站点的ftp服务器 -》备份)
2)中新社稿件通过对外接口接入,利用resttemplate先同步site端图片接口,后同步site端文字内容接口,最后利用ftpclient进行文件操作(解析--》入库 --》本地输出JSON文件--》上传特定对应站点的ftp服务器)
3)定时器实现:quartz,因涉及到服务器集群间的定时任务抢跑,接入quartz技术以实现随时管理定时任务和实现分布式锁防止同一服务器同时跑同一定时任务。
2、site工程:
1)稿件定时读取任务:根据服务站点(北京、纽约和香港)采集不同,利用ftpclient进行不同ftp服务器下的对应站点文件夹下文件的处理(文件下载(图、文)--》解析 --》图片同步 --》同步MongoDB库)。
2)生产上老采编(中新社)稿件同步接口代码的优化
3、shell脚本编写
1)上线前ftp文件夹脚本
2)服务器定时删除过期文件夹
4、解决的其他小问题:
redis集群搭建和帮助同事开发单点登录功能、利用ThreadLocal解决多个服务并发下使用同一个ftpclient造成文件操作失败的问题。