掌握 web 及一定的前端知识,spring,mybatis,springboot
掌握数据库:mysql(主从集群),了解 influxdb,nosql
掌握缓存:redis 掌握消息中间件:kafka,zookeeper 服务器:tomcat,netty,了解 nginx 了解运维:ELK,docker 自动化部署
掌握工具:熟悉 linux,能在 linux 下开发测试部署,熟练使用 eclipse,idea,maven,git
参与并管理物联网千万级 NB 远传表项目设计开发(一期,支持 200 万远传表接入)
项目描述: 昆仑燃气物联网燃气表项目,需要支撑千万级物联网表一天内通信交互,控制燃气表日常开关阀,实时计费,数
据收集,整理,治理,并可以自动化部署,自动运维,自检异常。
责任描述: 作为项目成员,参与日常工作划分,以及处理甲方需求对接,技术框架选型
1.参与设计表端通信协议
2.调研业务需求,参与设计项目架构,使用:netty,redis,kafka,springboot,influxdb,elk,zookeeper,mysql。
3.设计各个业务模块,模块间高度分离,业务解耦合。组件间使用 kafka 消息队列,达到业务逻辑解耦合,异步
处理数据,并减小服务器压力。
4.开发各个模块框架以及逻辑代码
5.解析通信协议,联调程序与表厂通信交互。
6.优化各个组件,docker 打包镜像自动化部署
7.优化组件 netty 进行 nginx 反向代理以及双节点 ha 8.使用 codis 分布式部署缓存方案优化 redis,主从复制集群保证缓存数据的一致性高可用。
9.通信过程数据,使用 kafka 异步处理,http 方式灌入 influxdb 数据库、以表号作为 series,百万级数据毫秒级查
询
10.各个模块间外接 ELK 日志组件,统一格式化运行日志后,以模块名加表号作为索引,自动搜索异常关键字的日
志。
11.springboot 作为服务开发模块,对接昆仑燃气业务系统,提供自身操作前端页面以及部分外接接口。
12.设计 mysql 数据结构,以及 mysql 主从集群。
13.模仿 cancal,开发利用 OpenReplicator 类的 mysqlbinlog 的解析同步 mysql 到 redis 的数据工具