<br /> # 高阳的简历 ## 基本信息 求职意向:Node.js | 13年工作经验 男 | 生日:1987.05 | 北京 15321782981 yunnysunny@163.com ## 个人优势 擅长架构设计,熟悉HTTP/TCP网络协议,善于抓包解决网络问题。有带团队经验,初期带领过前后端两个团队。 使用 Node 做纯后端开发,使用 redis 来做实时数据处理。涉猎 kafka grpc 等通信模式和上游服务进行通信。涉及 `protobuf` `consul` `docker` `k8s` `openresty` 等技术栈。有高并发分布式处理经验,处理过 20W+ 的QPS。 8年 node 经验,熟悉 Node 的原理与权限,有丰富的性能调优经验,开源项目 `superagent` `node-rdkafka` 贡献者;三年信息安全和 java、 c语言开发经验,了解 PKI 等体系结构;一年 go 语言开发经验,有自己的微服务开发框架;有丰富原生前端 js 开发经验,熟练使用 jQuery。 ## 工作经历 ### 北京蒸汽记忆科技有限公司 Node.js 2022.03-2022.08 **内容:** > 解决了一些公司存留的技术难题,大体包括以下方面: 1. 解决 windows 下的 `ad connector` 程序和 ad 服务连接不稳定问题 解决 `ad connector` 和后端服务 websocket 连接不稳定的问题 2. 解决 redis 中存在千万 key 生命周期超长问题,将 key 由一千万优化为几十万 3. 解决制作出来的 docker 镜像个头大问题,将镜像体积由1.8G优化为五百多M 4. 编写 oidc 集成 `aws lambada 服务`、 `aws api gateway` 和 `aws cognito` 的示例代码 ### 北京一起科技有限公司 Node.js 2017.02-2022.02 > 直播间 Node 组负责人,初期同时带领后端和前端两个团队,后期以后端团队为主。 1. 通过架构改造和性能调优,以支持在线直播高峰期支持 20w+ QPS 2. 编写团队内部开发框架和可持续集成解决方案,编写技术培训手册和开发规范,指导新人等。 3. 通过 wireshark 抓包来分析 `kafka` `redis` 等异常问题。 4. 通过 内存快照 CPU 火焰图来分析系统中的性能问题。 5. 设计实施分布式跨机房的服务架构方案,编写网关层逻辑。 6. 涉猎的技术栈有 `protobuf` `kafka` `grpc` `Consul` `redis` `mongodb` `docker` `k8s` `openresty` 7. 制定devos ci流程,在ci中实现单元测试、覆盖率收集、镜像制作推送等流程,提升了整体开发部署效率 8. 编写基础镜像,包含 Consul agant、自研pm2插件、promethes metric收集等功能 9. 指导前端同事完成初版手机直播单页应用编写,践行单页应用直播秒开理念 10. 初期的编程语言以 node 为主 后来引入 go 语言。 ### 北京星云视联股份科技有限公司 全栈工程师 2015.07-2017.02 1. 对接新浪轻应用、微信公众号登录,对接微博支付、支付宝、微信支付,对接短信接口。 2. HTML5 直播、点播播放器编写,前端聊天逻辑编写。 3. c# 客户端内嵌web应用编写 4. 优化性能,找到性能瓶颈,给出解决方案。 ### 北京光慧数码科技有限公司 全栈工程师 2013.09-2015.07 1. 手机H5直播页编写,实现websocket聊天功能,视频、音频播放断线重连实现。 2. 对接淘宝同学后端接口。 3. 辅导实习生完成工作。 ### 北京思拓合众科技有限公司 Java 2013.04-2013.08 1. 站点管理守护程序,编写服务器端 socket 守护程序,接收客户端请求来建立一个 nginx 站点。 2. redis队列消费者程序,对每个任务分配线程,读取redis中队列数据,完成异步任务。 3. 站点性能监控,通过snmp来获取当前服务器上的性能参数。 ### 北京三未信安科技有限公司驻济南办事处 嵌入式 2010.04-2013.04 1. u盾安卓端ndk接口封装。 2. 国家图书馆单点登录系统,负责设计单点登录模型。 3. 扫描仪水印添加项目,服务器端调用公司加密机给tif图片添加数字签名,客户端MFC程序验证签名。 4. 公司 `java socket`、`jce` 服务维护和编写。 5. 培养实习生。 ## 项目经历 ### Docker 相关 #### dockerfiles 开源项目 2021.10-至今 本项目提供一系列基础镜像,包括 alinode supervisor go 等镜像。 ● 项目地址 https://github.com/yunnysunny/dockerfiles ### openresty 相关 #### resty-gate 开源项目 2021.11-至今 openresty 网关项目,支持通过 consul 做服务发现,支持使用 http 1.1 模式反向代理到后端 http 服务,支持设置 http 1.1 的连接池数目,支持分布式多机房架构。 ● 项目地址 https://github.com/yunnysunny/resty-gate ### golang 相关 #### consul-register 开源项目 2021.11-至今 基于go的consul注册命令行程序,支持注册 HTTP 和 grpc 协议的服务,支持指定健康检查功能。 ● 项目地址 https://github.com/yunnysunny/consul-register #### consul-balancer 开源项目 2021.11-至今 go语言项目,基于 fasthttp 和 consul 实现客户端的服务发现和负载均衡功能。 ● 项目地址 https://github.com/yunnysunny/consul-balancer #### go-micro-tpl 开源项目 2021.11-至今 自研 go 微服务框架,支持通过 grpc http kafka 协议接收请求报文。 ● 项目地址 https://github.com/whyun-com/go-micro-tpl ### Node 相关 #### http-request-proxy 开源项目 2020.03-至今 express插件,支持根据 URL 前缀将请求转发到后置服务中。适合使用在 API 网关项目中,使用本包后,通过简单配置即可实现请求往对应服务进行转发,减轻了开发工作量。 ● 项目链接 https://github.com/yunnysunny/http-request-proxy #### config-settings 开源项目 2018.09-至今 服务配置信息加载的库,可以支持从本地 json 文件或者远程 consul K-V 中加载配置信息,如果是使用consul 的话,可以支持动态刷新本地配置。 ● 项目链接 https://github.com/yunnysunny/config-settings #### flash-cache 开源项目 2017 .08-至今 在内存中存储临时数据,受到 JVM 和 V8 老生代和新生代 GC 理念的启发而设计的包。 ● 项目链接 https://github.com/yunnysunny/flash-cache #### session-token 开源项目 2017 .07-至今 一个token信息存储和读取的库,支持将token管理信息存储入redis,并且在读取过程中做了优化,支持二级缓存,二级缓存可以是内存或者本地文件。 ● 项目链接 https://github.com/yunnysunny/session-token #### node-slogger 开源项目 2016.08-至今 一个日志封装库,支持格式化日志输出,支持日志输出到控制台和本地文件、kafka。支持日志先缓存到本地内存,然后定时刷新的功能,解决频繁打印日志导致使用过多 CPU 时间的问题。 ● 项目链接 https://github.com/yunnysunny/slogger #### nodebook 开源项目 2015.08-至今 这是一本关于 Node.js 技术的开放源码电子书,从 Node 的底层原理开始讲起,涵盖 Node 的常用 API 和常用第三方库、C++扩展、最佳实践等内容。 ● 项目链接 https://github.com/yunnysunny/nodebook ### C/C++ 相关 #### shmdb 开源项目 2014.04-至今 基于linux共享内存的 K-V 库,通过 hash 算法进行数据存储。 ● 项目地址 https://github.com/yunnysunny/shmdb #### sget 开源项目 2012.09-至今 基于标准C编写的跨平台下载命令行工具,支持下载指定http地址的资源到本地。 ● 项目地址 https://github.com/yunnysunny/sget #### 基于加密卡的安全扫描设备 主程 2012.05-2012.09 加密卡所在机器调用扫描仪进行扫描,继而调用加密卡进行签名,扫描完成后客户端,建立多个线程,调用服务器端内嵌的http服务器来下载生成的文件。服务器端调用清华紫光的扫描仪接口,然后将扫描的图片数据送到加密卡去加密。客户端调用 OpenSSL 验证签名数据,给出验证结果,并且显示图片。 硬件环境为 `加密卡` + `清华紫光 q300 扫描仪`。 ### Java 相关 #### 国家图书馆单点登录系统 主程 2011.08-2012.05 国家图书馆单点登录系统,设计跨主域的单点登录实现方案。保证国家图书馆各个不同根域名的网站进行登录状态互通。 ● 项目网站 https://sso1.nlc.cn/ ## 教育经历 2006-2010 齐鲁工业大学 本科 计算机科学与技术 ## 社交网站 - github https://github.com/yunnysunny - 个人博客 https://blog.whyun.com - 知乎 https://www.zhihu.com/people/yunnysunny