1.熟练使用Java SE平台开发,有良好的编码习惯,熟练idea、eclipse工具开发;
2.熟练使用常见开源框架Struts2(了解)、Spring、Mybatis、MybatisPlus、SpringMVC、SpringBoot、springCloud(eureka、hystrix、spring cloud config、spring cloud bus)等框架及其整合;
3.熟练使用常见开源技术activeMQ、kafka、RabbitMq、redis、hdfs、ftp、WebSocket、Quartz、Elasticsearch、solr、doubbo、Swagger2、lombok、Shiro、Poi、iText、zXing等;
4.熟练使用HTML、CSS、JavaScript、jQuery、Ajax、echarts、Highcharts、EasyUI、dataTables、jqgrid、bootstrap等前端技术;
5.熟练使用Atmo+Raml书写api接口文档、postman进行接口测试,实现前后端分离编程
6.熟练使用RPC通信技术WebSocket、Dubbo,熟练使用基于分布式(Dubbo+ZooKeeper/eureka+feign)的rest服务的发布和调用。
7.熟练掌握主流数据库MySql、postgreasql、GreenPlum、mppdb、Oracle(熟悉)等数据库并进行简单sql调优;
8.熟悉Linux环境常用操作命令、了解Nginx、dubbo、eureka服务负载均衡技术;
9.熟练利用自身技术和经验排查解决程序异常;
10.熟练使用Maven、Git、SVN进行版本控制;
主要技术: 开发框架/组件:spring boot+lombok+Mybatis-plus+spring cloud(eureka、feign、hystrix)+spring cloud bus负载均衡/分布式:Nginx+eurekar+feign数据存储:Redis+MySQL+GreenPlum+PostgreaSql+mppdb组件:Shiro+Hdfs+ActiveMQ+RabbitMq前端:vue接口文档/测试:raml+atom+postman
项目描述:
该产品是一款以数据采集功能为主题的产品,基于公司平台数据采集项目2.0所积累的业务、功能经验为基础,采用前后端分离开发模式,优化架构、增强功能、提高性能、智能化、简易操作,主要亮点如下:
1. 智能匹配数据模板、支持自定义数据模板;
2. 支持大批量上传文件、进度条展示;
3. 多线程支持解析文件、解析数据入库等功能,提高程序性能;
4. 架构优化(部分组件):该产品采用 nginx+web项目(多节点)+activemq+service项目(多节点) 的架构设计
Nginx:以轮询做请求分发减轻高并发压力
Web项目:支持占用资源较少的功能操作,将消耗资源严重的文件解析、入库操作以消息机制按照文件大小不同通过activemq以不同的通道发布出去
Service项目:负责监听各自的通道消息,采用多线程处理方式解析文件、数据入库
该架构可以在程序的部署扩展、性能提升、防止占用资源过大操作(解析、入库)造成程序卡死等方面得到很大程度优化;
5. 本程序为满足分布式设计的AP原则,采用eureka集群作为高可用注册中心,接口发布端做多节点部署ha,服务调用端采用feign做接口负载调用、hystrix做熔断限流防止程序雪崩,另程序采用spring cloud bus+RabbitMq+Git(消息总线)做配置中心管理程序核心配置信息;
6. 前后端分离:采用前后端分离方式进行开发
7. 动态数据源:利用自定义注解+AOP实现动态数据源切换
职责描述:
1. 参与系本统的需求分析、架构设计、数据库表设计;
2. 负责spring cloud bus(消息总线)配置中心搭建、接口添加hystrix支持
3. 负责项目基础架构搭建(各组件集成、工具类开发、动态数据源切换开发等)
3. 负责web项目规则校验、异常数据处理相关接口开发;
4. 负责service项目开发;
5. 负责产品版数据接口采集产品相关接开发口
6.参与注册中心eureka集群搭建
7. 利用atom、raml、postman进行相关接口的api文档编写、测试;