Java基础扎实,具备并发编程经验,熟悉JMM、线程通信线程安全、锁、原子类、阻塞队列、并发容器、线程池原理。清楚并发内容的实现原理。阅读过部分JDK源码。
深入了解JVM虚拟机:内存模型、GC、垃圾回收算法、以及垃圾回收器(包括G1)。具有线上调优经验,熟练使用调试工具arthas,Jprofile。
熟练使用springboot、spring、springMVC、mybatis框架,并且对spring框架源码有学习了解。
熟悉微服务架构,dubbo 以及springCloud体系。
对Elasticserch,logstash,Filebeat,kibana 熟悉。了解es读写原理,底层存储原理(lucene)。
深入了解Elasticserch集群规划,具有es调优经验,阅读过部分源码,例如es中线程池、读写过程。
深入了解网关技术,独立构建业务网关。使用gateway、nacos,sentinel。
改造过阿里限流组件sentinel源码,具备一定的源码阅读能力和改造能力。
熟悉Mysql存储引擎,索引,有sql调优经验,熟悉分库分表,熟悉 ShardingSphere
熟悉redis应用场景,维护了redis高可用集群。
熟悉MQ使用场景,熟练使用kafka,用作内外网穿透,作为数据中转,解决上下游速度不匹配问题。
熟练使用Docker容器化技术、了解k8s。
合理使用开发规约,写出简洁的代码。重构相关知识有所掌握,有过项目重构的经验。
熟悉设计模式,有在工作中使用,来提高程序可扩展性和可维护性。
熟悉linux环境,熟悉linux常用命令,熟悉shell脚本,维护搭建了十五个节点的Es集群。
具备从官网以及社区快速学习掌握生产技能的能力。
具备一定的文档编写能力,PPT汇报能力。两个软著。
中科院 十四亿级别物联网资空间测绘系统
功能模块:14亿物联网资源检索引擎子系统、业务网关子系统、用户中心子系统、预热子系统、系统审计及行为分析子系统、搜索提示子系统、防爬机制设计
项目描述:物联网资源检索系统,用来检索整个互联网中现存的可以检测识别到的设备,这些设备涉及到了15个大类,100小类。设备包括品牌型号版本,以及设备上存在的软件,软件的版本、品牌、型号、大类、小类。以及软件和设备存在的漏洞。存活的设备会附加上地理位置属性。支持根据设备和软件的各个属性以及地理位置的聚类分析。用于科研人员的研究,给做安全防御领域的人提供良好的数据支撑。
项目职责:
负责项目整体设计包括以上全部模块,主导技术选型。保证服务各个环节的高可用。避免单点故障问题。
负责维护支撑十四亿物联网设备数据的搜索引擎,维护了15个节点的elasticsearch集群。
从零搭建elasticsearch集群,并解决集群安全通信,跨集群数据同步问题。通过双集群的设计,来保证服务高可用。通过心跳机制,来动态切换集群。解决了elasticsearch分布式搜索引擎的脑裂问题。通过副本和快照来保证数据不丢失。
负责elasticsearch搜索引擎的后续优化工作。在数据集从8亿增长到14亿,数据容量从2.5T到5T的情况下,通过对集群的升级及规划和索引合理拆分,将聚类检索的时间从10秒降低到了2秒、普通检索从5秒降到1秒以下。集群写入速度提升到了2w/s。
使用nginx作为流量网关,使用gateway+nacos+sentinel 搭建了业务网关。期间改造了sentinel源码,来支撑生产环境下,业务网关零停服情况下的动态修改限流规则的需求。通过改源码将sentinel规则持久化到nacos,实现限流规则从客户端到sentinel的dashbord再到nacos的闭环。对鉴权、限流、等公共能力进行了抽取。通过对公共能力的抽取,将网关下沉为公共服务,发挥组内技术优势,为研究所内其他开发小组提供网关技术支持。帮助其它组解决用户鉴权,限流,降级等问题。
借助于sentinel的限流,实现了系统调用的安全防护。借助于sentinel的热点参数限流,实现针对用户的限流。达到了防爬的数据保护目的。
使用logstash + elasticsearch + kibana,搭建了一套日志收集分析系统。通过在流量网关进行适当的改造,配合前后端传参的适当改造。实现了系统审计以及用户行为分析的需求。配合报警工具,来洞察系统的服务能力,及时发现问题并发送报警。在凌晨生成用户行为分析的报告,并进行推送,为系统更好的扩展优化提供数据支撑。
维护了redis集群,用于存放用户的登录信息,鉴权中心分布式token;用于预热子系统,通过用户访问的审计结果,将系统经常访问到的数据,以及请求花费时间较长的数据,进行缓存预热。达到系统去短板的效果,提升用户体验。
JVM问题诊断,发现并解决内存泄露问题。参数调优,使系统处于最佳状态。
使用Docker + docker-compose来部署编排服务。
12306 空铁联运项目(上线)
开发时间:2019.08~2019.11
功能模块:空铁联运产品大订单,火车票改签,火车票退票,平台结账对账
项目描述:中国铁路推出了和东方航空合作实现空铁联运,火车票同机票同时购买,给用户带来更好的
购买体验,智能提供一些好的空铁组合,给用户更多的选择。
项目职责:
参与整体业务的设计;编写内网调度服务代码,编写 API 调用火车票微服务
完成灰名单功能
设计伪随机算法用于生成唯一订单号,并在服务器上进行压力测试,以及进行安全性测试。
支付回调。在做支付回调页面数据展示的时候,因为代码量比较多,为了方便维护,采用了生成器模式。
平台内部对账核心模块。