NC维护云管家通信框架诞生背景
NC维护云平台在架构设计之初就充分考虑到不同客户网络环境情况:
1. NC服务器可以直接连通互联网。
2. NC服务器所在内网完全与外网隔离。
基于上述网络情况,同时能为用户提供永久稳定的项目运维信息的云化管理服务以及真真切切地帮助一线解决一切难题的初衷,NC维护云平台提出了以“云+端”的方式为用户服务。考虑到让一线顾问、客户使用简单便捷以及适配内外网切换,端又基于C/S模式分成两部分,客户端 ——NC维护云管家(NC的360桌面程序),服务端——NC维护云管家服务(agent)。NC维护云管家通信框架就是为了解决客户端与服务端通信,同时又能使通信服务在运行时不影响NC应用服务的运行效率及稳定性,从而完全自主研发设计且不依赖于NC的通信服务框架。
我们采用基于RMI-IIOP 协议自主开发服务通信框架,是在充分考虑客户环境的复杂性及云平台业务处理需求情况下而设计,如:支持复杂集群环境通信要求,支持集群节点自注册,支持服务组件XML 方式注册,支持服务调用时注册回调处理器,支持部署简单、零服务配置,支持开机自启动等,而且其非常轻巧,相比使用开源的tomcat、jetty 和netty 更能满足我们云平台项目的需求。框架解决了云管家与项目环境通信问题,同时适应客户环境的各种复杂场景如:各版本linux、windows、win server、aix,服务器多网卡等。框架是项目补丁安装卸载,集群检测等核心功能的主要技术支撑。
如果客户的NC应用服务器是内外网隔离的情况,用户首先需要使安装NC维护云管家的笔记本电脑或台式机上连接上外网访问云端获取客户项目的运维信息、云平台最新推出的补丁等内容,然后再切换到内网连接NC维护云管家服务(agent)即可安装补丁、卸载补丁,同时也可以做正式环境代码是否一致检测、正式环境与测试环境代码是否一致检测等操作。
NC维护云管家通信协议介绍
根据NC应用的部署情况,NC维护云管家通信框架需要考虑到分布式计算,同时为了开发在使用通信框架时完全透明,NC维护云管家选择了基于RMI-IIOP协议通信。
RMI-IIOP 很强大的分布式计算能力,可使用它编写纯 Java 客户机/服务器实现而不丧失 RMI 类序列化的灵活性。RMI-IIOP 通过覆盖 Java 序列化反序列化做远程对象传输,