一名来自 Newegg 的架构师,熟悉常用的前后端技术,目前专注于大数据,基础软件架构,前端产品,AI 等领域。 同时还是西安 IT 技术圈发起人之一。
也许是理想主义者的缘故,很喜欢开源,也受益于开源。在我的认知里,开源就是软件界的社会主义运动,没有开源,就没有现在的互联网。 自己曾经给一些优秀的项目做过贡献:
除了参与著名的开源项目以外,自己也主导了一些开源项目,作为开源团队的核心 Member.
喜欢分享,多次组织组办社区线上和线下活动,在公司内外经常作为演讲嘉宾,分享一些自己的经验。同时也经常会写技术文章,技术期刊。
岁月无痕,流光难驻。用笔印证心灵的虹影, 用心感悟时代的呼声,让过往的岁月留存,让看过的世界被更多的人知晓,爱我所爱,想我所想,写我所写。
联系方式
- Email:truman.p.du@qq.com
个人信息
- Truman/男/1990
- 本科/西安邮电大学
- 工作年限:10 年
- 技术博客:https://blog.trumandu.top/
- Github: https://github.com/TrumanDu
- 开源书籍:https://book.trumandu.top/
- 期望职位:Java 高级程序员,架构师,项目经理
- 期望薪资:税前月薪 30k+
- 期望城市:西安
工作经历
newegg 公司 ( 2015 年 11 月 ~ 至今 )
Persona Email
- 项目描述:基于深度学习的个性化邮件推荐系统。
- 项目特色:利用用户活动行为特征和 Item 特征结合深度学习来进行邮件促销。
- 项目职责: 主要负责用户数据特征,用户向量分群等工作。
- 项目业绩: 比传统 Top40 促销提交多个百分点。
- 主要技术:hive,hbase,kafka,kafka stream,kafka connect,python,PyTorch 等
SNS
- 项目描述:SNS 是 newegg 统一消息通知平台。
- 项目特色:统一内部所有的通知渠道,避免重复建设,便捷扩展通知渠道,系统高可用,高扩展性。
- 项目职责: 主要负责架构设计,平台代码开发,项目管理等工作。
- 项目业绩: 目前接入多个业务通知服务,支持 email,sms,teams 等渠道。
- 主要技术:kafka,mongodb,zookeeper,grafana,react,elasticsearch,spring boot 等
EventHub
- 项目描述:Event Hub 是一个高度可缩放、分布式、基于时间序列的事件中心,能够实时的处理流式事件并进行告警和提醒。可以实现事件指派,追溯等事件全生命流程。
- 项目特色:事件可追踪,可提醒,可管理,强大界面,以事件为中心挖掘价值。
- 项目职责: 主要负责架构设计,平台代码开发,项目管理等工作。
- 项目业绩: 目前接入技术和业务类事件,作为持 newegg 企业监控平台,业务提醒与追踪平台。
- 主要技术:kafka,grafana,react,elasticsearch,spring boot,mysql 等
KafkaCenter
- 项目描述:KafkaCenter 是 kafka 一站式平台,提供自助,监控,管理,运维,生态等全平台功能。
- 项目特色:消费监控自研,丰富的 kafka 周边生态,强大完整的集群管理功能。
- 项目职责: 主要负责架构设计,平台代码开发,项目管理等工作。
- 项目业绩: 目前作为 newegg 企业 kafka 支撑平台。
- 主要技术:kafka,ksql,kafka connect,react,elasticsearch,metricbeat,spring boot,mysql 等
RCT 项目
- 项目描述:RCT 是一个通过解析 rdb 文件对 redis 内存结构分析的一站式平台。 支持对非集群/集群 rdb 文件分析、Slowlog 查询与监控、ClientList 查询与监控。
- 项目特色:采用分布式架构,通过解析 redis rdb 文件,多角度多场景分析 redis 中内存数据结构,提供友好的可视化报表以及邮件通知等功能。
- 项目职责: 主要负责架构设计,平台代码开发,项目管理等工作。
- 项目业绩: 目前已在产线上使用,多次发挥重要作用,为公司节省了宝贵内存资源。
- 主要技术:redis,react,eureka 等
SyncBigdataPlatform 项目
- 项目描述:SyncBigdataPlatform 是依赖大数据存储技术,提供高性能读写,jumplocation,以及跨 location 数据同步服务平台。DB 层采用 Hbase,Cassandra,Cache 层采用 Redis,数据同步层采用 Kafka。提供 restful 接口,以供业务调用。
- 项目特色:支持自定义业务扩展,支持热部署,支持配置信息动态调整,支持可视化配置信息更改,支持多数据中心高速数据同步,支持 jumplocation 操作,支持业务数据格式与数据库 scheme 自定义设计
- 项目职责: 主要负责架构设计,平台代码开发,项目管理等工作。
- 项目业绩: 目前平台上线多个主要服务,可以支持重点核心业务系统,上线一年来,稳定运行无误,获得公司优秀项目荣誉。
- 主要技术:redis,kafka,hbase,cassandra
基础服务搭建与运维
- 项目职责: 搭建 RedisCluster,Elasticsearch,KafkaCluster 集群,对集群进行日常维护,处理线上问题,开发周边组件,便于更好的维护集群。
- 项目业绩: 为 newegg 线上服务提供可靠稳定的 cache,消息,检索服务。
服务 Docker 化
- 项目描述:针对公司 kafka/redis/elasticsearch/opentsdb 等基础服务 docker 化,其次针对业务项目进行 docker 化部署
- 项目职责: 针对不同需求场景设计部署架构,编写 shell 脚本,Dockfile 文件。
- 项目业绩: 将我们项目组所有服务实现全部 docker 化,降低服务维护难度,极大的解放劳动力。
- 主要技术:docker,bash
RedisClientAPI 项目
- 项目描述:该项目提供一个使用 Redis 的 rest/thrift API,客户端可以跨多种编程语言,更高效,更便捷的使用 Redis 的功能。
- 项目职责: 负责该项目的设计及开发工作
- 项目业绩: 提供高效 API 服务,承受上亿次调用,未出现任何事故。实现了 RedisCluster 批量操作,慢查询追踪等功能。项目难点是对于批量操作的实现方案改造。
- 主要技术:redis,thrift,springboot 等
MonitorPlatform 项目
- 项目描述:该项目可以用来检测机器指标,基础服务指标,业务指标等数据,通过可视化技术快捷高效的监控相关服务。
- 项目职责: 主要负责该项目的设计与开发工作,该项目利用 ES stack 技术,使用 metricbeat 收集机器指标信息,使用 grafana 做可视化。
- 项目业绩: 实现我们团队服务的无死角化监控,打造具体我们 team 特色的监控平台。
- 主要技术:elasticsearch,metricbeat,filebeat,grafana 等
其他项目
- RedisCluster 监控
- ECDashboard
- kibana 插件(email_table,indices_view)
- ServerLoginAlert
- AnomalyDetection
开源项目和作品
开源项目
- KafkaCenter主导设计及开发,维护,获得开源社区关注。
- redis-manager(参与) redis 管理工具,获得业界关注。
- RCT redis 内存分析工具,获得业界关注。
- autocomplate-shell:VS Code 编写 shell 插件,下载量 30k+
- indices_view:查看 ES indices kibana 插件已被elastic官网收录,码云周刊第 68 期推荐 )
- cleaner:设置 es index ttl 插件,已被elastic官网收录
技术文章
- 技术博客
- 微信公众号
- 消息队列入门与最佳实践
- Java 初级架构师入阶系列专栏
- Elasticsearch 速览学习笔记
- MongoDB 指南
- Kibana Plugin Development Tutorial
专业技能
- Java 基础扎实,熟悉多线程并发编程,锁等
- 熟悉常用的数据结构和算法
- 了解常用的设计原则和设计模式
- 掌握 Redis/MongoDB/Cassandra 等 Nosql
- 熟悉 Elasticsearch 以及 Elastic 生态
- 掌握 Kafka,了解 RocketMQ 消息中间件
- 了解 kafka 周边生态,KSQL/Connect
- 熟练使用 Docker
- 熟练使用 SpringBoot
- 熟练使用 MySQL,了解 MySQL 索引机制
- 熟练使用 Grafana,Kibana
- 熟悉 linux 常用命令
- 具备分布式系统设计能力
- 具备系统架构设计能力
- 具有 JVM 调优能力
- 具有前端编程经验,熟悉 React
- 具有多种语言使用经历(js/go/shell)