@Wishes
2026-06-30T09:46:05.000000Z
字数 3024
阅读 541
王钊/个人简历
- 个人信息:2015届 / 本科 / 湖南科技大学 / 计算机科学与技术
- 联系方式:18711338458 / Email:18711338458@163.com
技能水平
- 熟悉druid,有线上OLAP大规模开发经验,有内核改造经验
- 熟悉大数据开发,有实习计算系统开发经验
- 熟悉Kafka使用和原理,处理过可靠消息推送,多线程消费者,消息顺序性,消息事务性等问题,熟悉Canal
- 熟悉ElasticSearch,lucene,有相应的开发经验
- 熟悉python,熟悉爬虫开发,反爬虫策略
工作经历 & 项目经验
2020.07 - 至今 后台开发 腾讯音乐-研发部
- 腾讯音乐云图是一款数据产品,通过收集酷狗,酷我,Q音三平台的用户行为流水(播放,分享吗,收藏,下载),进行id-mapping,清洗,加权后得到歌曲的实时指数。根据歌曲指数计算出歌手指数,云图对外展示歌曲/歌手的各维度指标,提供给厂牌,工作室,歌手等角色查看歌曲/歌手的实时指数趋势图,历史指数趋势图,互动数据趋势,用户画像等各种指标,以及歌曲排名趋势和实时榜单。
我的工作:
- 参与云图架构升级,三端流水接近日级百亿,歌曲数量由400w到1.7亿,架构由自研服务升级为flink+druid的实时计算体系。
- 负责研发部olap的技术引入,apache druid特性改造,集群维护,以及推进研发部4个小组接入使用。
在参与云图升级的过程中,遇到的挑战如下:
- 架构设计,解决自研计算服务存在重大缺陷:复用性差,容错能力不足,稳定性差,资源成本过高,引入开源计算引擎flink做实时计算,druid存大宽表做OLAP查询,单表30亿+数据的大表单次聚合查询500ms以内,用成熟的Lambda架构实现计算存储系统。
- 每一个环节的数据量都很大,id-mapping的维表1.7亿歌曲从redis迁移到hbase,内存从2T降至200G,改造flink-hbase连接器,增加异步化与本地缓存,极大提升客户端访问性能。
- 计算的数据以大宽表存druid,业务层直接聚合druid中的数据。榜单业务直接查表中的TopN的数据即可,因此引入了TopN需要精确翻页的问题。歌手指标直接聚合表中对应的歌曲指标即可。数据冷热分离,对于查询频率最高的近一周数据放配置高的查询机器,其他数据放配置稍低的查询机器。
- 引擎的内核改造以及其他工作
- flink 维表关联异步化特性改造,flink 1.12的hbase connector,用的是同步IO客户端,我负责改造hbase connector,引入异步客户端,并且增加LFU缓存层,极大提升了维表关联效率,优化后20个task从5000+ QPS提升到20w+ QPS,可以完全满足需求。
- 由于业务大量使用druid,并且druid不支持对明细数据非时间字段排序,因此我负责改造druid,支持对明细数据排序。改造内容包括:druid-sql取消order by必须是时间字段的判定,执行引擎改造,数据节点支持historical对查询的数据进行排序,查询节点broker对结果集排序。改造后对200w结果数据排序在300ms以内。
- 由于部分维度列是数组(多值)列,在对多值列group by的时候容易带出多余的值,改造druid-sql,支持在sql语义上对多值列进行post-filter。
- 由于druid-sql在实现TopN的过程中,N的值等于limit的最大值,因此在翻页的过程中会出现不精确的情况,改造druid-sql增加上下文参数window下推到执行引擎,固定执行引擎的N的值保证翻页正常。
- 开发druid客户端,支持SQL化访问,修改avatica(数据库驱动框架),兼容腾讯内部L5代理,支持SQL追踪,用户SQL必须包含时间列条件检查
- 附引擎改造代码:
2018.6 - 2020-06 后端开发 顺丰科技-私有云平台中心
- 团队职责:云门户的开发工作,包括产品购买和查看资源,产品控制台,作业编排,多租户的用户信息管理和权限控制,运维管理后台等。
- 我的职责: 权限微服务和api网关开发,数据同步微服务的开发,以及部分公共模块开发。
- 支持管理不同云产品的api的录入和权限点的录入,在网关层支持查询用户的与用户访问api的权限鉴权,并发量支持2000+,有大量访问的用户信息查询,访问控制,网关需要判断查用户对某个URL是否有访问权限。
- 开发稳定的Kafka消费者公共模块,封装Kafka的消费者,通过确认窗口机制,解决消费者与Broker心跳断开的问题,实现手动提交offset模式下多线程处理消费的消息,解决消息积压的问题。
- 应用Canal实现数据同步微服务,解决权限数据用Kafka推送数据到其他微服务产生的顺序问题,解决Canal存在的数据丢失的问题,提升Canal推送到Kafka的性能。
2016.3 - 2018.5 后台开发 iPIN
公司AI+平台部主要有招聘领域为HR的职位提供简历匹配平台和舆情监控平台,舆情监控平台目前支持给金融公司监控市场新闻,并提供情感分析服务。