个人简历
个人信息
基本信息:杨柳/男/1997.03
学历:湘潭大学/通信工程 /统招本科
工作年限:6年
期望职位:高级Java开发工程师
联系方式
- 手机:17382129181
- Email:yl1997zzy@aliyun.com
- 微信号:17382129181
技能清单
技能分类 | 掌握情况 |
---|---|
编程语言+工具 | 熟练掌握后端Java/Sql等语言,了解Go,熟练掌握IDEA、Git、Maven、Jenkins、Docker、K8s、Rancher等工具使用 |
底层源码+并发编程 | 掌握JVM内存模型,垃圾回收机制,JDK集合框架源码等,读过部分Spring/MyBatis/Nacos/XXL-JOB核心源码、掌握JVM内存模型,垃圾回收机制,JDK集合框架源码,熟练掌握多线程和高并发在项目中的实践 |
框架技能+项目应用 | 熟练掌握Spring/MyBatis/ SpringBoot/Cloud全家桶核心知识;熟练掌握Redis/RabbitMQ/ES/kafka在项目中的使用。掌握Flink实时计算框架和一定的大数据项目经验。熟悉Camunda、Zeebe流程引擎。 |
分布式和微服务 | 熟悉分布式架构、集群和负载均衡算法,熟悉分布式事务等搭建搜索引擎、Redis和RabbitMQ集群、LVS+Nginx有5年微服务架构和分布式系统的经验,熟悉Rancher云平台和K8s容器编排技术,自动化扩容和监控体系搭建。 |
数据库和Linux操作系统 | 熟练掌握MySQL、MongoDB, 掌握多种索引使用和原理,能独立分析需求设计数据库,有sql优化经验。熟悉Linux常用命令,Shell脚本编写,掌握常用软件部署,熟悉列式存储ClickHouse及多种合并树引擎 |
运维诊断及调优 | 熟悉Ansible运维工具,熟悉JVM虚拟机,熟悉Arthas、mat等诊断分析工具及自带的命令行,能够处理线上问题,有一定的JVM调优经验,具有从0到1服务部署维护的能力 |
其他 | 熟悉draw.io画图工具、MD文档编写、熟悉常用算法和数据结构 |
工作经历
梯度科技 ( 2019年9月 ~ 至今 )
梯度短链平台(2023.3-2023.11)
项目描述: 短链平台是一个营销推广平台,满足公司及股东产品推广、业务活动页、广告落地页和短信营销等需求,支持实时数据统计分析。 微信、抖音、淘宝流量互通,很多知识付费公司需要做私域流量、社群运营,可以对外做产品输出,实现商业化能力增加公司营收,包括多个服务,账号服务,商品服务,短链服务,实时计算服务,数据可视化服务。
技术栈:AlibabaCloud全家桶+Redis+RabbiMQ+Sharding JDBC+Flink+Kafka+ClickHouse+XXL-Job+Skywalking+MySQL
DevOps部署链路: 阿里云ECS + Gitlab+Docker+Jenkins CICD+Rancher2.x
短链服务
- **描述:**短链服务是核心模块,用户传入原始链接生成短链,生成的短链具备无规则且海量数据下性能高低碰撞率,支持短链分组、自定义域名和实时数据分析,对接流量包模块,实现了高性能创建短链和扣减流量包。
- 个人职责: 小组组长/开发主程。负责短码服务的分库分表架构设计,短链组和短链开发、基于MurmurHash生成和解析短链。通过冗余双写的技术解决了在分库分表的场景下用户端和商家端多维度查询问题,设计和开发高性能创建短链和扣减流量包架构,并采用MQ+Task解决了短链码和流量包扣减的分布式事务。
- 项目亮点
- 通过冗余双写的技术解决在分库分表的场景下用户端和商家查询问题
- 设计了短链码在扩容时免数据迁移的分库分表解决方案且避免数据倾斜
- 创建短链时高性能扣减流量包,采取预扣减方案且保证了数据一致性;
- 采用MQ延迟队列+本地Task解决了短链码和流量包扣减的分布式事务问题
Flink实时计算服务+数据可视化服务
**描述:**方便短链创建者多维度实时分析数据,实时计算服务是采用Flink技术,处理用户访问短链产生的各项指标数据包括设备类型、时间、地理位置信息等多维度信息,基于实时数仓分层处理和维度建模,存储到ClickHouse里面,数据可视化这块采用Echart框架进行展示,支持多种丰富的维度分析图表。
**个人职责:**负责实时计算服务架构搭建,对接短链服务数据埋点,基于数仓分层模型设计Flink处理链路,多个组件工具封装、访问数据ETL处理、宽表开发、Async异步IO处理对接高德Ip解析API,ADS层数据存储ClickHouse,对接数据可视化服务多维度分析图表sql开发。
项目亮点:
实时计算服务架构搭建和数据流转分析
Flink数据分层处理和宽表开发
Async异步IO优化外部数据关联查询
运维管理平台 (2022.06-至今)
- **项目描述:**运维管理平台是面向多云及云原生场景的资源与服务运维管理平台。可实现统一的资产配置、灵活的流程管控、及时精准的监控告警、高效智能的自动化运维等能力,主要应用于企业内部IT基础架构资源与应用服务的运维管理场景。可提供对物理机、虚拟机、网络设备、安全设备、云平台、云资源、业务服务、容器等各类资源及服务的全方位运维管理能力。
- 技术栈:Java(Spring Cloud+Nacos+MySQL+MongoDB+Prometheus+logstash+ES+Redis+XXL-job ),Go(go-gin+zap+viper),Minio+Skywalking+Zeebe
- CMDB(资源管理平台)
- **描述:**CMDB是面向全平台IT资源的配置管理数据库,能够统一覆盖客户软件应用、操作系统、硬件设备等资产对象,实现资产信息的管理和配置。具有动态扩展资源数据、自动发现资源、资源关联分析等功能。
- **个人职责:**CMDB模块负责人/开发主程。负责CMDB模块的整体架构设计和实现。基于Mongo实现资源管理,实现灵活可扩展的CI模型,实现消息订阅系统,将CMDB资源变动通知到第三方系统,支持推送失败重试,异常告警。
- 作业平台+Agent
- **描述:**运维基础操作管理系统,具备海量任务并发处理能力。除了支持脚本执行、文件分发、定时任务等一系列基础运维场景以外,还支持通过流程调度能力将零碎的单个任务组装成一个自动化作业流程;而每个作业都可做为一个原子节点,提供给上层或周边系统/平台使用,实现调度自动化。
- **个人职责:**小组组长/开发主程。负责作业平台整体架构设计及相关开发工作。负责作业编排相关功能开发,支持将文件分发、文件下载、脚本执行等原子功能进行编排执行,底层支持ansible与自研agent两种方式执行编排。
- 项目亮点:
- Agent 使用 BT(BitTorrent) 方案应对大文件传输,使得文件拉取和传输更加高速、效率。
梯度多云管理平台(2019.9-2022.09)
- **项目描述:**云管平台致力于解决企业多云环境下的管理、安全及应用交付难题,帮助企业“管好云、控好云、用好云”,实现数字化转型的愿景。平台提供多云环境资源的统一纳管、统一运营、统一运维,实现自动化、自助式的服务交付(例如虚机服务、容器服务、对象存储服务、工单服务等);通过对企业云架构 系统中人员、事件、云计算中的基础设施资源、数据资源、业务资源的统一管理。
- 技术栈:Spring Cloud+Nacos+MySQL+Prometheus+Canal+ES+Redis+XXL-job+Skywalking+Kafka+ELK
- 订单服务
- **个人职责:**开发主程。负责订单交易中心的下单接口开发,包括验价、锁定优惠券、用户配额等模块。订单状态检测自动续期告警、订单异常自动关单功能等功能开发。负责下单锁配额及余额和异常释放配额、余额的设计和开发。
- 项目亮点:
- 下单模块最复杂,需要包括验价,防重复提交,优惠券锁定,配额锁定等操作,链路复杂且涉及分布式事务问题。链路采用线程池异步调用,优惠券锁定,配额锁定都是采用无锁自释放设计,支持高并发。
- 通过MQ延时队列实现订单状态检测重试和订单失败优惠券、配额、余额释放。对于订单检测重试次数达到指定次数的订单进行告警通知。
- 封装了多个组件如自定义注解防重提交、线程池+http连接池 提高多个核心接口QPS
- 优惠券模块
**个人职责:**开发主程。负责优惠券微服务设计,支持多种规则配置,无门槛劵-满减劵-福利劵,限领张数等配置。采用redisson分布式锁解决高并发下单用户超领,和乐观锁解决优惠券超发问题。对接订单中心,改造优惠券核销和释放功能,采用延迟队列+本地Task解决分布式事务问题(前方案是采用Seata解决分布式事务,后采用MQ延迟队列+Task支持更高的并发)
项目亮点:
- 优惠券服务-领取和释放需要支持高并发保证安全防止超发超领。
- 需要防止灰产恶意注册和领劵造成公司活动资损
视维科技 ( 2018年3月 ~ 2019年8月 )
运维平台
**项目描述:**PowerCloud聚能云是新能源综合业务解决方案,其中包括CRM、ERP、WMS、OA、CSC等功能于一体。CRM子系统,自动化实现低资源环境下销售、客户管理、业务员管理、支付、分期模式、产品维护;WMS子系统,实现生产订单管理、仓储管理、数据统计等业务功能;CSC为用户提供完善的售后服务,为非洲等新兴市场业务开展提供高效便捷的一站式整体服务。
技术栈:JAVA(Spring Boot)、Python(django、sqlalchemy)
**个人职责:**我在此项目负责CRM子系统APP后台开发,也参与了部分web后台开发。这个项目中,我在开发流程和规范、代码编写能力、代码质量等方面提升很快,熟悉了DeVops开发体系。开发前先使用powerDesign输出PDM图并组织评审,开发过程中使用Sonar和阿里开发规范插件,使用Junit和Mock编写单元测试,使用Jenkins进行持续集成交付。工作期间,使用Kettle进行数据迁移;为了满足业务的快速扩张,对后台进行了一次较大的重构,将原来的的网元根据业务拆分成独立的四个微服务网元,根据不同业务的特点使用了不同的设计模式,重构后迭代需求开发效率和代码稳定性较之前有较大提升。
自我评价
- 属于极客爱好者,经常会逛各种技术论坛,也爱好活动
- 善于沟通,有较强的组织协调能力,在工作过程中能独当一面;
- 有较强跨栈研发,有一定线上疑难问题排查和解决经验·
- 能快速理解业务,并结合技术进行创新
- 也喜欢看书,不限于技术,也会学习产品、运营等相关知识
- 能抗压,并不断挑战和创新,在技术上也不断的提高自己
- 有写个人学习博客的习惯,博客地址 https://xw-zzz.github.io/
致谢
感谢您花时间阅读我的简历,期待能有机会和您共事。