gatekeeper学习概述
1、概述
該產品部署在網絡隔離裝置兩端,以代理程序的身份,完成兩側設備連接維護,數據轉發的功能。場景簡化如圖所示:
軟件核心是一個基于Netty的網絡應用程序,考慮到系統的可維可測性,集成了web化的配置、監控和調試功能。
2、啟動類是GateKeeperWebMain
public static void main(String[] args) throws Exception {startJetty(PORT);}private static void startJetty(int port) throws Exception {LOGGER.debug("Starting server at port {}", port);Server server = new Server(port);Configuration.ClassList classlist = Configuration.ClassList.setServerDefault(server);classlist.clear();classlist.add("org.eclipse.jetty.webapp.WebXmlConfiguration");classlist.add("org.eclipse.jetty.annotations.AnnotationConfiguration");server.setHandler(getServletContextHandler());addRuntimeShutdownHook(server);server.start();LOGGER.info("Server started at port {}", port);server.join();}
3. web容器是jetty,在web服務啟動過程中,通過spring初始化后臺相關bean,并在初始化完成后啟動后臺監聽服務。
4. 發布維護過程中的一些收獲
1、功能的可用性
產品部署在全國各地多個地方,生產環境掉電重啟,網絡不穩定等多種異常情況都會出現。
-?軟件需要保證掉電重啟自動恢復等。
-?通過代理程序的心跳機制及重連機制,保證網絡正常或網絡斷開恢復后能正常提供服務。
2、服務的可靠性
- 第三方服務端處理速度不一定快,如果是同步阻塞的話,就會加大系統自身負擔,被外部拖累。
- 設備不可達等情況,應有快速失敗機制。(一旦出現一定的超時,如果有多次重試的機制,可能會使得網絡負擔更大,造成雪崩效應。)
3、系統的維護性
- 提供版本一鍵安裝升級工具,操作簡單快速。
- 提供一鍵日志采集功能。獲取服務器核心的操作系統日志、業務日志,便于有問題時采集分析。
- 現場人員可以通過web監控調試頁面,查看當前系統狀態及網絡情況。便于簡單問題的現場自行處理。
?
轉載于:https://www.cnblogs.com/eaglediao/p/7656979.html
總結
以上是生活随笔為你收集整理的gatekeeper学习概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速得到栈、队列的最大值
- 下一篇: UIWebView中JS与OC交互 We