由于工作涉及到卸数,分案,对程序处理的速度和性能要求较高,虽然目前基本满足需求,但随着业务的不断扩展,数据量的不断增加,终究会达到系统处理的瓶颈,且目前卸数,分案这两块相对独立的功能与业务管理系统耦合在一起,迭代,维护,运行都难免受到影响,所以后续计划将卸数,分案功能独立出来,作为单独工程迭代维护,独立部署。为此 结合业务特点综合考虑经济,性能,开发难易程度等方面因素,选择一个合适的开发框架至关重要。经过一番调研,最终Vert.x比较适合我们的应用场景,为了验证和了解Vert.x相关组件功能,熟悉其开发流程,积累开发经验,故基于Vert.x+CC-Topology实现了一个简易RouterOS拓扑图工具,以下是一些简单的功能界面上的成果展示。
介绍
RouterOS拓扑图工具是一款基于RouterOS通用管理软件云服务配置功能的网络设备运维软件,它可以根据设备间关系自动生成拓扑图,也可以由运维人员手动生成。实时显示拓扑图中设备的状态信息,如:设备型号,软件版本,CPU占用,上线时长,接收速率,发送速率,刷新时间等信息。还可以针对每台设备实时下发脚本,并由设备自动执行。也可以备份每台设备的配置信息,以免设备配置数据丢。可导出,导入拓扑图。可选择连线显示的信息来源端口等,总之它可以帮助运维人员随时掌握网络中设备的最新状态,完成一些时常的简单运维任务。
软件架构
RouterOS拓扑图价架构.png交互流程
拓扑图.png安装环境
-
设备与拓扑图工具需打通网络。
-
通过RouterOS通用管理软件的云服务配置功能,配置拓扑图工具服务地址及端口
功能说明
-
监控界面主要包括以下功能:左侧->编辑,刷新,定时刷新。右侧->放大,缩小,适应画布,实际尺寸,下载图片,导航器。
-
编辑:点击编辑按钮,则进入编辑状态。
-
刷新:点击刷新按钮,则刷新当前拓扑图节点数据,防止服务端推送不及时,设备状态信息更新延迟。
-
定时刷新:刷新功能的自动版本,可以选择刷新频率:1,5,10,30分钟,也可选择关闭。
-
右侧功能主要是对拓扑图界面的控制以及拓扑图下载。
-
-
编辑界面主要包括以下功能:左侧->返回,保存,自动绘制,导入,导出。右侧->撤销,重做,复制,粘贴,删除,放大,缩小,适应画布,实际尺寸,线条选择,导航器。
-
返回:即返回监控界面。
-
保存:保存当前绘制的拓扑图。
-
自动绘制:根据当前网络中在线设备推送上来的设备report信息,确定相互关系,自动生成拓扑图。
-
导入:导入通过导出功能导出的拓扑图json文件。
-
导出:将当前拓扑图导出为json格式文件。
-
右侧功能主要是完成拓扑图绘制的相关工具。
-
系统截图
- RouterOS通用管理软件,云服务配置界面
- RouterOS拓扑图工具实时监控界面
-
RouterOS拓扑图工具编辑界面
-
画布状态
edit_1.png -
RouterOS拓扑图工具节点编辑状态
-
RouterOS拓扑图工具自动绘制状态(缩小)
edit_3.png
-
总结
总体来说Vert.x真的香啊!
- Vert.x单个服务打包完成后大约7M左右的JAR,不依赖Tomcat、Jetty之类的容器,直接在JVM上跑。
- Vert.x消耗的资源很低,一个1核2G的服务器已经能够部署许多个Vert.x服务。除去编码方面的问题,真心符合小项目和小模块。
不过对于数据库操作多的应用,还需慎重选择。
最后:仁者见仁,不喜勿喷,谢谢
网友评论