ID:173857

Jerry

java开发工程师

  • 公司信息:
  • 深圳市瑞云科技有限公司
  • 工作经验:
  • 3年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 所在区域:
  • 深圳
  • 福田

技术能力

1、熟悉jvm虚拟机、java内存模型、java io、多线程等和并发基础知识;
2、熟悉Spring ioc、aop、Springmvc、springboot、MyBatis plus、springDataJpa、springSecurity、shiro核心原理和工作机制,阅读过相关核心源码,能够熟练运用以上框架多数常用扩展点并能解决多数开发过程中的相关问题;
3、熟悉springclould微服务组件如eruka,feign、ribbion,hytrix,对它们的工作机制有一定的理解,阅读过部分源码,能在项目中灵活使用;
4、并发编程基础扎实,对分布式锁、分布式事务、数据一致性的处理有着自己的理解;
5、熟悉mysql、oracle数据库,具备一定的sql优化能力,熟悉redis、elasticsearch、hbase、mongodb数据存储系统;
6、熟悉tomcat容器,kafka、rabbitMq、dubbo、disruptor、shardingJdbc中间件,能结合它们构建分布式高并发后台系统;
7、对hadoop生态组件如hdfs、yarn、hive、hbase、spark、flume的工作机制和原理有一定的了解;
8、熟练使用sparkSql、sparkCore、sparkStreaming、structedStreaming进行数据批处理和流处理计算;
9、熟悉linux常用命令,能编写比较常用的shell脚本;
10、熟悉maven、idea、git、jemeter、Confluence、Jira、jekins等项目构建和开发工具,了解docker和k8s技术;
11、对前端技术有一定的接触,如vue.js、html、css、js、bootstrap,能做简单的前端组件开发;
12、热爱IT技术,喜欢学习前沿开发工具,喜欢研究开源代码,具备专研精神。

项目经验

一、瑞云科技电影渲染系统(深圳市瑞云科技有限公司)
项目架构
1、业务背景:公司主要业务是为客户提供视频和效果图渲染服务,客户通过web端或客户端将视频或图片文件上传至公司内部节点机下,由web端或客户端进行文件渲染的发起操作,业务处理完毕后,渲染信息的记录等动作由任务模块发起,通过用户模块的dubbo接口进行实际的信息记录等操作。
2、项目架构:该系统主要分为前台项目和后台管理项目,前后台都采用springboot框架为基础进行开发,并用maven工具进行构建,数据持久化使用mybatis框架,同时使用redis存储作为缓存存储,使用kafka处理服务间的消息通信,系统模块之间通过dubbo框架调用进行服务调用。项目后台管理采用springSecurity安全框架对用户的登录和资源访问进行权限控制,并通过利用springSession与springDataRedis解决了后台管理模块间的session共享的问题。
责任模块
1、前台业务系统功能:
开发公司微信第三方登录、qq第三方登录、前台系统支付(支付宝、微信)功能,同时处理用户部分模块相关的业务操作,向其它模块提供相关服务接口(用户支付相关的一些接口)。
2、后台管理系统功能:
后台管理系统的权限配置,通过springSecurity框架相关拦截器特点进行用户登录和权限的配置。后管充值模块(管理员充值、退款、展示用户充值与消费记录、excel、pdf等相关文件下载等)和用户模块的开发。
3、用户通知模块部分功能:
用户完成相关业务需要根据用户设置来决定通知方式,如用户提交任务、任务完成需要给用户发送邮件或短信,充值完成会给用户相关的公司业务员发邮件。这里使用spring集成的javaMail和阿里云的短信发送功能,消息通信过程中的中间件采用kafka。
4、监控系统开发
业务背景:由于客户的视频或图片在公司节点机下渲染时的基本单位为帧,同时渲染过程中会时不时出现因渲染帧失败而导致客户手动提交重新渲染的情况,因此,为了改善用户产品体验,更好的分析渲染失败原因而产生了对渲染日志进行收集解析的需求;
开发任务:后端框架搭建和部分接口开发,提供elasticSearch客户端进行多条件查询接口,将查询出来的指标数据终结果返回到前端展示。

二、华为芯片日志微服务项目
一、项目架构
1、业务背景:该项目主要业务是对芯片生产过程中的第三方厂商的测试的日志数据文件进行解析入库,将解析得到的数据经过计算后跟自己内部的数据进行对比,进行芯片的质量监控,找出问题芯片的原因,及时调整芯片生产细节方向。
2、架构描述:项目通过springcloud进行搭建,项目使用到了微服务组件eureka、ribbon、hytrix、feign、config、zuul、zkpin等组件,本人负责的微服务项目主要在web端,根据功能总共分以下4个微服务模块进行构建和管理:性能数据统计微服务、数据迁移微服务、数据校验微服务、数据计算微服务,微服务的权限通过网关进行统一管理,项目网关采用springsecurity oauth2对微服务进行安全认证,其中各个项目间通过kafka消息的方式进行业务处理。
二、责任模块
本人负责几个服务器的搭建、维护和几个业务相关的微服务的设计和搭建,具体如下:
服务器搭建:
redis集群、kafka集群搭建和维护。
微服务开发:
1、数据迁移微服务:服务主要目的是将存储在redis中的数据在质量检查合格后转移到hbase数据库中,以缓解redis服务器的压力。
第三方服务对redis中存储的数据进行质量检查后利用对方提供的projectId去C#服务查询redis服务器信息,从而动态生成redis客户端,将redis中存储的相关的数据查询出来,并将查出来的数据转存储到hbase中,随后将存储在redis中的相关数据进行删除。
2、数据计算微服务:服务主要目的是根据第三方传过来的数据进行数据库路由,条件查询数据,将查询出来的数据进行计算汇总。
服务接收第三方服务的多个key和projectId,首先通过project查询第三方服务得到oracle服务信息,动态进行数据源切换,并对这多个key关联的数据进行分组堆叠计算最终生成相关的汇总结果,项目中使用了jdk1.8新特性简洁清晰的完成了复杂计算。
3、数据校验微服务:该模块主要向第三方服务根据需要提供待校验数据和校验后的校验结果回调执行更新操作。
4、性能数据统计微服务:该模块主要是一个数据存储功能,该微服务主要是提供给第三方进行文件解析和数据计算的耗时信息统计,最终按要求向指定页面进行数据输出。
三、项目收获
1、根据项目需要编写了一个自己实现的动态切换大量数据源的springboot整合包,github地址:https://github.com/jerryzlei/multi-datasource;
2、熟悉了用springCloud构建微服务的流程,能自主实现基于spring oauth2安全认证的springcloud微服务的开发。

三、中信银行实时BI项目开发
一、项目架构
1、业务背景:为了满足银行卡中心各部门的实时数据处理需求,实时开发项目组与个需求部门对接相关需求和离线数据。
2、项目架构:实时项目由web端和实时端大数据端组成;大数据端基于HDP搭建的一套hadoop生态组件,以供项目使用,大数据端在项目组主要以spark项目为基础来提供服务,项目通过在应用中嵌入了springboot达到对流处理和批处理进行动态配置,然后使用spark库进行批处理和流处理的开发,其中流处理的数据源为kafka,回仓可为http、jdbc、kafka、es等,批处理所使用的数据来源于数仓hive表和hdfs上的csv文件,经过相应的hql和相关批处理配置后,离线数据存储在hbase或redis中,实时应用的状态存储使用redis和hbase;web端负责实时项目端(spark)的配置持久化和spark程序的启动,其中配置包含如数据源配置、业务逻辑的jar配置、输出源配置等,web端采用了shiro作为web端开发的权限框架,以springboot和springcloud的config模块来作为web端的开发基础,数据持久化采用了springjpa进行处理,项目中引入了quartz框架负责调用spark批处理的定时任务,以处理项目所需要的批处理数据;
二、责任模块
1、web后端的构建:以shiro框架对后台web进行项目构建,完成了基本的用户角色权限配置;
2、项目sink端开发:应用需要加入对应用回仓部分进行统一配置的功能,按项目需求给项目加入了hbase、kafka、jdbc、es、http的回仓sink配置实现;
3、项目状态监控:主要针对项目所用到的hadoop生态组件进行定时任务的监控,如实时流、批处理的运行情况、hdfs、yarn、hbase、redis的使用情况等,当组件相关的设置达到设置的相应阈值时,调用第三方接口发送告警信息;

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    1
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服