• 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监控调试页面,查看当前系统状态及网络情况。便于简单问题的现场自行处理。

  • 相关阅读:
    php程序员面试经验
    模板引擎(smarty)知识点总结五
    模板引擎(smarty)知识点总结三
    js计算字数
    phpexcel导出成绩表
    phpexcel用法(转)
    模板引擎(smarty)知识点总结
    apache泛域名解析
    对象的解构赋值
    解构赋值
  • 原文地址:https://www.cnblogs.com/eaglediao/p/7656979.html
Copyright © 2020-2023  润新知