*.spring cloud/spring boot微服务架构经验丰富,熟练使用网关(spring cloud gateway、zuul),注册中心配置中心(Nacos、Spring cloud config),OAuth2/JWT权限验证框架,服务跟踪,服务监控,服务间负载均衡、Feign、熔断,消息总线等。
*.熟练使用docker/docker compose容器化部署,jenkins持续集成平台
*.熟练使用Git、IDEA、maven、Tomcat等工具集
*.熟练掌握Spring IOC、Spring AOP、SpringMVC、MyBatis、Hibernate、Struts2等
*.熟练掌握javascript、Jquery等前端脚本
*.熟练掌握MySql、Oracle等关系型数据库,redis、mongodb等NoSql数据库
*.熟悉各种算法、数据结构
*.Dubbo+zookeeper搭建分布式系统应用的经验
*.nginx/openresty+keepalived实现负载均衡/主从热备的高可用架构的经验
*.熟练使用rabbitMq或activemq等消息队列服务软件
*.有大数据处理经验、熟练使用爬虫技术获取网页数据,掌握hadoop、hbase基本操作
*.熟练使用Linux以及Linux命令、熟悉linux上的各种操作和项目部署
*.熟练掌握RMI、RPC、Webservice、SOA、分布式锁、分布式事务等技术
*.熟练掌握java多线程、并发编程、线程池技术
能胜任中大型信息系统的需求分析、功能设计、数据库设计、接口设计、代码开发以及架构设计、搭建和部署。能排查系统中出现的问题并解决项目中遇到的技术难题。
1.机场员工排班项目
该项目主要为实现机场员工的班次管理、员工管理和排班、考勤打卡等功能。我在项目中主要承担项目搭建、架构、功能设计、后台开发、任务分配和跟踪、技术指导等工作。该项目以JEECG快速开发平台作为基础,采用SpringMVC + Hibernate + Minidao(类Mybatis) + Easyui(UI库)+ Jquery + Boostrap + Ehcache + Redis + Ztree + Vue + Boostrap-table + ElementUI等基础架构,项目通过分布式方式部署在多台linux服务器上,通过Nginx+keepalived实现负载均衡和主从热备的高可用(HA)部署。通过dubbo+zookeeper实现模块化分布式的架构和服务注册。使用Quartz和Job实现需要定时执行的任务。使用缓存技术memcache和数据库查询优化实现功能调用的快速响应。使用算法优化接口。使用JSON数据结构作为前后台数据传送的数据结构。
2.数据中心搭建开发
该项目是为机场信息公司提供的分布式数据服务中心,包括航班中心和产品中心。然后在数据中心的基础上,开发辐射机场各种应用所需的数据接口。我负责数据中心的开发和维护,具体有通过httpClient、爬虫、webservice等方式从第三方网站获取机场数据并持久化到数据库、维护。rabbitMq/AMQP消息队列从第三方提供的数据源异步获取多种机场数据。数据中心使用dubbo+zookeeper模块服务分布式+服务注册的形式向其他的应用分布式地提供数据接口,具体方式是使用REST方式向其他应用提供数据接口服务。使用JSoup技术对爬取的html页面进行解析,使用Spring的JDBCTemplate进行数据的持久化。大量使用多线程、并发地处理多个数据源。在提供数据接口上使用多种数据结构和算法。在处理字符串、分治算法、递归回溯算法、图算法、树算法、贪心算法等应用广泛。除了基本的数据结构之外,还用到比较高级DeQueue、PriorityQueue、TreeMap、还有List[]作为保存图或树的数据结构。在处理复杂问题的时候应用这些算法和减少循环的嵌套,使系统处理速度大幅度提高。