个人介绍
技能:
主要侧重于高并发服务器端程序的设计和开发;erlang使用了很长一段时间,维护过用erlang实现的通信系统,也用erlang实现过互联网web开发的后端系统,以及物联网设备服务器。话说在云服务时代,erlang相比其他诸如GO语言,nginx等优势没有那么明显了,云时代你在很多情况下不需要自建集群;
精通使用erlang, golang,以及openresty(nginx+lua),比较喜欢函数式编程的语言;上面提到的三种并发服务器语言,erlang使用用得最久,erlang社区最不活跃,还好elixir反过来推动了一把erlang社区;openresty虽然基因很优良(基于nginx),但无奈三方库比较少和社区相对不活跃,好在实现互联网服务常用的库都很优秀,比如mysql和redis;golang现在用的最多,也有足够多和优秀的开源库;
在当前公司基本只我一人负责设计,构建和维护所有的高并发服务器;从最初的erlang分布式业务系统,逐渐向openresty和golang构建的微服务演进;
独立一人开发维护线上在4套erlang分布式系统,快20个openresty和golang的微服务(当然肯定要得益于运维系统的自动化和可视化,以及线上系统的扁平化设计);
服务器维护经验,各种线上问题处理经验,线上性能调优经验;如果有一套自动化线上运维的'机器人'系统,并且业务系统足够扁平,很多线上问题没有必要深入跟踪,可以对微服务应用erlang系统里的'let it fail'的思想和实践;所以就算没有这样的运维系统,也建议逐步创建一个;
熟悉Linux系统及网络,路由器固件开发(Lua和C开发)也是会的,netfilter, iproute2等也懂;主导了nginx、redis以及mqtt在路由器固件(8M flash)的使用和业务开发;
常见通信网络协议,主要是核心网侧;
python,git,jenkins, jenkins pipeline, docker以及其他开发工具;
工作经历
2014-09-01 -至今小博无线高级架构师
创业公司架构师和主力研发。主要负责基础通用模块设计和实现;高可用,高并发服务器的设计,开发和维护(秒请求过万);线上系统运维;以及路由器固件设计与开发。
2011-01-05 -2014-09-01Myriad高级软件开发工程师
SMSC产品Myriad Update的开发和维护
2008-02-01 -2011-01-01Nokia高级软件开发工程师
OSS系统数据协议适配层的开发和维护; 并担任部分产品功能的Area Product Owner
2005-09-01 -2008-01-15华为核心网开发工程师
核心网交换机中继信令部分的开发和维护; 分布式中间件的流量控制部分的预研
教育经历
2001-09-01 - 2005-07-01电子科技大学计算机科学与技术本科
计算机科学与技术