锤子简历品牌推广师
star法则简历模板java
作者:锤子简历 2021/03/19 20:30:00
阅读 442

求职意向

Java开发工程师 浙江杭州 薪资面议 随时到岗

教育背景

2020.x -2020x 锤子简历大学 信息管理与信息系统

工作经验

2020.x -2020x 锤子简历信息技术有限公司 Java开发工程师

项目经验

2020.x -2020x 分布式任务调度平台 

技术:netty + quartz + zookeeper + spring + mybatis + mysql
项目描述: 
      调度中心:调度采用中心式设计,基于Quartz实现,支持集群部署可保证调度中心HA,提升调度系统容灾和可用性;Zookeeper分布式锁实现每个任务只有一台机器进行调用;任务调度框架使用Quartz,Cron表达式方式触发任务执行;任务调度线程池定时删除和修改任务信息。任务信息使用数据库存储。
      路由策略:通过Zookeeper获取执行器ip列表,创建netty的Bootstrap连接远程节点,注册ChannelFutureListener,添加ChannelInboundHandler和ChannelOutboundHandler,发送调用消息。执行器集群部署时提供随机(随机数)和阻塞队列(LinkedBlockingQueue存放ChannelHandlerContext,每次poll后重新offer,保证阻塞队列中的通道被均衡调用)等路由策略; 
      执行器:maven引入task-api项目,配置任务执行类(实现spring的ApplicationContextAware和InitializingBean接口),初始化zk连接,读取自定义注解,创建zk节点;创建netty ServerBootstrap,注册ChannelFutureListener,添加ChannelInboundHandler和ChannelOutboundHandler,接收调用消息,反射执行调用(分为异步和同步,同步使用FutureTask取得执行结果),向调用方发送response。 ​支持调度中心带参数调用请求,调度器在请求中加入待处理数据id和服务器totalcount,通过取余方式将请求处理分布到每台服务器执行(执行服务器 = 数据id % totalcount)。
      项目后期使用蚂蚁金融SOFABolt通信框架,支持Oneway调用、Sync同步调用、Future调用、Callback调用。
项目职责:
      编写调度中心任务信息获取,调度任务执行,rpc调用,获取zookeeper中任务执行器ip,执行器带参数分布式执行等代码。


2020.x -2020x SSO单点登录系统 

项目描述:

      使用shiro安全框架,完成认证、授权、加密、会话管理、与Web集成、缓存等功能。支持sso-server分布式部署。同时兼容老系统。
sso-server:
      登录模块:设计、提供用户管理功能,通过相应的接口注入给Shiro(自定义继承shiro Realm,重写方法实现从数据库读取用户信息),支持微信开发平台授权和账号密码登录。
      菜单模块:根据角色功能递归获取并通过循环逐层去掉重复菜单。
      权限验证:提供权限验证功能,通过接口注入Shiro,通过token获取用户信息,根据用户信息和系统标识获取权限信息,进行权限验证。权限包括登录且验证权限,登录公开权限和公开权限。重写权限匹配规则。自定义权限解析规则,实现Permission接口权限匹配的方法。
sso-client:
      通过maven引入sso-api项目,添加sso filter,接受请求首先检查token是否存在,然后http请求sso-server进行权限验证。
项目难点:
      理解shiro框架原理,阅读和断点调试源代码,找到shiro管理session创建、读取、删除的类,然后继承shiro AbstractSessionDAO重写方法,自定义sessionId,session存储到内存改为缓存到redis,实现分布式架构下Session的共享。 继承DefaultWebSessionManager,重写获取token方法。
项目职责: 参与项目整体框架设计,参与数据库表结构设计与修改,编写登录模块、权限验证模块、过滤器等主要功能代码。


2020.x -2020x 分布式配置文件管理 

项目描述:

      配置中心:配置持久化到数据库,建立zk连接,创建/更新/删除配置项对应的zk节点(支持实时更新和定时任务更新)。 
      prop-api:项目通过maven引入api应用配置中心。api类实现spring的BeanFactoryPostProcessor接口,实现在spring实例化bean之前读取bean的定义(配置元数据),根据元数据名称从zk取到对应的节点值,替换配置文件配置项。 
项目职责:  参与项目整体的设计、开发,负责编写配置项持久化,创建、修改和同步zk节点等代码。


2020.x -2020x 短信和邮件发送中心 

项目描述:

      为公司其他项目的短信、邮件发送功能提供统一的平台,实现导入数据和发送内容的分离管理,提供管理发送模板管理功能,有效管理大量短信号码和邮件地址数据,实现发送内容和发送报告的可视化。使用责任链设计模式实现多个过滤规则,包括验证发送地址正确性、填充模板、内容和地址去重等。使用策略设计模式支持多个短信发送通道的切换。交易中心项目通过dubbo接口添加短信发送内容。 
项目职责:负责编写过滤器、策略模式、导入管理、发送接口调用等代码。


2020.x -2020x 供应链layercake 

项目描述:

      LayerCake系统是如涵企业ERP系统,涵盖设计、采购、生产、库存、销售等从供应商到客户的全部业务流程。系统包括用户中心、设计中心、供应链中心、财务中心等模块。
项目职责:
      负责设计中心和供应链中心部分模块的代码编写。

自我评价

      本人对工作认真负责,责任心强,熟练掌握java编程,熟悉spring、mybatis、mySql、dubbo、redis、RESTFul等。有很好的技术热情,看过Java并发包AQS、lock、读写锁等部分源代码,阅读过《java编程思想》、《Java并发编程的艺术》、《java核心技术》等书籍。拥有较强的学习能力,曾在两周内学习netty、zookeeper知识并应用到工作项目中。编码习惯良好,使用阿里编码规约。熟练使用Maven、Git、IDEA工具,2017年末从供应链项目组调至效能平台项目组,负责中间件开发。团队合作能力强,能够快速适应工作环境。 ​

内容来源说明:本文章来自网络收集,如侵犯了你的权益,请联系QQ:2772182309进行删除。