项目名称: NAP 网络自动化平台
项目描述: NAP(Network Automation Platform)是⼀款旨在解决日渐繁杂的网络运维问题的⾃动化软
件。 NAP 对主流网络设备的配置进⾏解析和建模,形成统⼀的配置模型,提供完善的配置管理接⼝,并通过
编排引擎、拓扑架构以及定时任务实现对⼀系列复杂网络运维场景的⽀持。
涉及技术: Spring、 SpringMVC、 SpringBoot、 SpringCloud Alibaba、 Nacos、 PostgreSQL、 RabbitMQ、
MongoDB、 Redis、 Nginx、 Docker、 Prometheus、 Antlr4、 Quartz、计算机网络、防火墙相关知识等
设计技术:
1、 采用分布式的项目开发模式整个项目分为:工作流服务、分析中心服务、编排服务、配置解析服
务、任务中心服务、下发中心服务、日志服务、监控服务等八九个服务。
2、 基于 RabbitMQ 实现多个服务之间的异步通信,同时实现削峰、限流的效果,同时保证消息的不重复消费。
3、 基于 Redis 消息中间件,实现了接口幂等、热点数据缓存等场景的开发。
4、 基于 MongoDB 缓存数据库,实现了对设备历史配置以及配置解析结果的数据存储。
5、 基于 Antlr4 语法分析器生成工具,对解析树中的每个节点的出入进行监听,从而完成对整个配
置的解析工作,最终获取到对应的配置的对象化。
6、 利用 Snmp4J 采集数据,并将数据存储到时序数据库 TDEngine 中,使用 Grafana 进行可视化展
示。
7、 负责平安证券 NAP 项目的线上业务的维护以及版本的发布和相关运维
8、 使用相关的路径算法实现拓扑的最短寻路以及寻路优化等相关功能
责任描述: 1. 活动小组 JAVA 后端服务开发
2. 负责工单分析相关流程开发
3. 负责监控相关需求开发
4. 负责配置下发相关流程开发
5. 参与配置解析存储相关开发