个人介绍
我是程序员客栈的空桐,一名golang开发工程师
我毕业于北京工业大学,担任过京东安全开发工程师,游族和先临三维的golang开发工程师
负责过项目少年三国志零游戏后端业务,freecity区块链web3项目,过后端服务限流,服务链路简化等
熟悉 golang 开发,了解 netpoll 网络模型,gc 原理,gmp 调度模型。
熟悉 gin,gorm 等 web 开发技术
熟悉 docker,k8s,cicd ,grpc,natsrpc,rpcx等,可做rpcx,natsrpc二次开发
了解 mysql,redis,kafka
了解 prometheus,pprof 等工具
如果我能帮上您的忙,请联系我
工作经历
2022-07-28 -至今先临三维golang开发工程
1.后端业务基础架构方向:服务限流,服务安全性保证 2.负责gateway优化 2.接口链路优化:基于caddy替代nginx和gateway
2020-06-24 -2022-07-21游族网络科技股份有限公司golang开发工程师
1、少年三国志项目后端业务开发,包括系统功能、跨服玩法、slg玩法、活动等内容。 2. redis异步server开发,服务多线程收集command,并支持异步回调结果,设计可扩展化 3. gm后台服务端由PHP向golang重构,使用技术栈go、gorm、gin、mysql 4. 公司微服务容器化上云搭建,基于腾讯EKS完成服务上云 5. natsrpc框架性能改进,集成分布式链路追踪,代码生成等工具
2019-10-09 -2020-05-14京东安全开发工程师
1.在京东安全部开发端口扫描告警系统,使用技术栈go、mongo、redis、gowork、nmap等 2.基于nmap扫描京东内网idc机群,agent端将扫描结果收集发送到redis队列中,server端消费队列完成数据入库 3.将暴露的端口通过京东内部邮件系统发送给项目负责人
教育经历
2017-09-06 - 2020-06-21北京工业大学软件工程硕士
技能
该项目是一款元宇宙项目,基于web3.0的社交语音App,集成了区块链、社交语音和游戏元素,整个项目从零开始开发 ,采用了微服务的架构设计,不同服务之间使用nsq通信,服务可支持水平横向扩展。 工作内容: 1.负责gateway开发,抽离transport层,目前支持websocket和tcp,传输层接口化未来可支持KCP和UDP协议,可方便 切换协议,数据传输使用protobuf格式。使用etcd服务注册发现,可支持大量在线用户时gateway动态横向扩展分流。 2.负责游戏服的开发,基于zinx框架,使用读写分离,消息队列及协程池,同时为了减轻gc压力,使用对象复用技术sync. pool和bytesbuffpool,数据落地使用了redis加mysql的形式,redis作为缓存,数据的操作只对缓存。 3.基于nsq实现内存同步技术,有状态服务的横向扩展还需要对内存实现同步。
自研项目,使用go实现的卡牌服务器,基于natsrpc进行微服务通信,登录服,网关服,逻辑服等都已经实现。 架构简单,源码简洁易理解。 仅暴露必要的调用接口,减轻开发者的心智负担。
该项目是游族在少三系列的又一款新作,开服首日单服在线5000,日活80万+,成功上线后承受住了大 量的玩家压力, 且未发生任何重大事故。主要负责游戏服,跨服的设计与开发工作。 工作内容: 1、由于逻辑服采用单线程的模式,并且数据库使用了redisLV,那么在数据落库时,需要异步执行,不能阻塞逻辑服, 负责开发redis异步server,使用消息队列加协程池,多线程收集redis command,并可支持异步回调结果。 2. gm后台服务端由PHP向golang重构,使用技术栈wire、gorm、gin、redis、mysql,抽出repo层,可支持切换数据 库实现方案,基于令牌桶限流,wire依赖注入技术。 3. 公司微服务容器化上云搭建,基于腾讯EKS完成服务上云,完成服务k8s yaml配置文件及服务上云操作