计算机语言:Java, C++, C#, Python, Scala
大数据框架:Spark,Hadoop,NoSql, Redis, Docker
数据库相关:SQL Server, Mysql,Hbase
版本控制和项目管理:Git和Maven
Java后台开发:Spring, MVC, Mybatis , Hibernate,Memcached, Java JPA
其它:Jetty,Nginx, Kafka, RabbitMQ,Spark , ElasticSearch,Tomcat,SSH
常用软件:Intellij IDEA,Navicat,Workbench。
个人爱好:浏览Github,CSDN,OSChina, 51CTO等技术论坛,喜欢跑步,打蓝球,羽毛球,乒乓球,健身,游泳。
负责项目:errorlog项目,敏感词服务项目,服务注册发现项目,小号服务项目,安装包项目,经纪人大学项目,kafka代理项目,SCF(58自主研发框架)代码自动生成工具项目等等
errorlog项目:
需求:对服务器的错误日志按机器组的订阅进行报警。
使用Logstash进行日志收集,存储在ElastacSearch上。定时每分钟从ES上拉取错误日志,进行日志合并,对订阅用户发送报警邮件。
难题:日志合并、邮件延迟。
解决:使用相似度计算+正则匹配解决日志合并问题;使用缓存解决邮件延迟问题。
敏感词服务项目:
需求:对房产信息进行敏感词过滤,生成返回操作(拒绝,变‘*’)。
构建一棵Trie树提供查询,树的叶子结点带有操作信息(拒绝,变‘*’),提供查询操作,增加词,删除词操作。
难题:性能问题,多机部署一致性问题。
解决:使用Aho-Corasick算法(速度快,但不支持实时的增删词)替换InvertedRadixTree(速度慢,但支持实时增删词),使用另开线程来进行增删词时的重新构建树,构建完成后进行树的切换,弥补了AC算法的缺点,提升了性能,再进行多机部署,解决了性能问题;使用Copycat算法解决多机部署一致性问题。
角色 | 职位 |
负责人 | Java开发工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |