由于工作涉及到卸數,分案,對程序處理的速度和性能要求較高,雖然目前基本滿足需求,但隨著業務的不斷擴展,數據量的不斷增加,終究會達到系統處理的瓶頸,且目前卸數,分案這兩塊相對獨立的功能與業務管理系統耦合在一起,迭代,維護,運行都難免受到影響,所以后續計劃將卸數,分案功能獨立出來,作為單獨工程迭代維護,獨立部署。為此 結合業務特點綜合考慮經濟,性能,開發難易程度等方面因素,選擇一個合適的開發框架至關重要。經過一番調研,最終Vert.x比較適合我們的應用場景,為了驗證和了解Vert.x相關組件功能,熟悉其開發流程,積累開發經驗,故基于Vert.x+CC-Topology實現了一個簡易RouterOS拓撲圖工具,以下是一些簡單的功能界面上的成果展示。
介紹
RouterOS拓撲圖工具是一款基于RouterOS通用管理軟件云服務配置功能的網絡設備運維軟件,它可以根據設備間關系自動生成拓撲圖,也可以由運維人員手動生成。實時顯示拓撲圖中設備的狀態信息,如:設備型號,軟件版本,CPU占用,上線時長,接收速率,發送速率,刷新時間等信息。還可以針對每臺設備實時下發腳本,并由設備自動執行。也可以備份每臺設備的配置信息,以免設備配置數據丟??蓪С?,導入拓撲圖??蛇x擇連線顯示的信息來源端口等,總之它可以幫助運維人員隨時掌握網絡中設備的最新狀態,完成一些時常的簡單運維任務。
軟件架構
交互流程
安裝環境
設備與拓撲圖工具需打通網絡。
通過RouterOS通用管理軟件的云服務配置功能,配置拓撲圖工具服務地址及端口
功能說明
-
監控界面主要包括以下功能:左側->編輯,刷新,定時刷新。右側->放大,縮小,適應畫布,實際尺寸,下載圖片,導航器。
編輯:點擊編輯按鈕,則進入編輯狀態。
刷新:點擊刷新按鈕,則刷新當前拓撲圖節點數據,防止服務端推送不及時,設備狀態信息更新延遲。
定時刷新:刷新功能的自動版本,可以選擇刷新頻率:1,5,10,30分鐘,也可選擇關閉。
右側功能主要是對拓撲圖界面的控制以及拓撲圖下載。
-
編輯界面主要包括以下功能:左側->返回,保存,自動繪制,導入,導出。右側->撤銷,重做,復制,粘貼,刪除,放大,縮小,適應畫布,實際尺寸,線條選擇,導航器。
返回:即返回監控界面。
保存:保存當前繪制的拓撲圖。
自動繪制:根據當前網絡中在線設備推送上來的設備report信息,確定相互關系,自動生成拓撲圖。
導入:導入通過導出功能導出的拓撲圖json文件。
導出:將當前拓撲圖導出為json格式文件。
右側功能主要是完成拓撲圖繪制的相關工具。
系統截圖
- RouterOS通用管理軟件,云服務配置界面
- RouterOS拓撲圖工具實時監控界面
-
RouterOS拓撲圖工具編輯界面
-
畫布狀態
edit_1.png RouterOS拓撲圖工具節點編輯狀態
edit_2.png-
RouterOS拓撲圖工具自動繪制狀態(縮小)
edit_3.png
-
總結
總體來說Vert.x真的香啊!
- Vert.x單個服務打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。
- Vert.x消耗的資源很低,一個1核2G的服務器已經能夠部署許多個Vert.x服務。除去編碼方面的問題,真心符合小項目和小模塊。
不過對于數據庫操作多的應用,還需慎重選擇。
最后:仁者見仁,不喜勿噴,謝謝