文件名称:系统使用流程-搭建小型access数据库实录
文件大小:1.72MB
文件格式:PDF
更新时间:2024-06-29 06:09:31
OpenStack 自动部署
3.5 命令行的设计实现 系统命令行模块的主要功能是为用户提供交互界面,接受用户的输入命令,显 示系统输出。命令行模块需要与命令处理模块分离解耦,并且在命令执行时提供良 好的异常处理机制,命令行不能因为命令处理模块的错误而终止,它要作为系统最 基本的功能模块始终稳定连续运行。 本 文 中 应 用 自 动 部 署 管 理 系 统 的 命 令 行 模 块 集 成 并 扩 展 了 org.apache.karaf.shell.console 的命令行机制,实现了一个可快速定制的异步执行的 命令行系统。Karaf 是 Apache 旗下的一个开源项目,Karaf 同时也是一个基于 OSGi 的运行环境,Karaf 提供了一个轻量级的 OSGi 容器,可以用于部署各种组件和应 用程序。Karaf 提供了很多特性用于帮助开发者和用户更加灵活的部署应用,例如 热部署、动态配置、几种日志处理系统、本地系统集成、可编程扩展控制台、SSH 远程访问、内置安装认证机制等等。同时 Karaf 作为一款成熟而且优秀的 OSGi 运 行环境以及容器已经被诸多 Apache 项目作为基础容器,例如 Apache Geronimo、 Apache ServiceMix,、Fuse ESB,由此可见 Karaf 在性能、功能和稳定性上都是个不 错的选择。另外也使用了 JLine,它是一个用来处理控制台输入的 Java 类库,有 点类似 BSD 的 editline 和 GNU 的 readline 命令工具。JLine 的作为一款开源程序 库,它的应用很广,其中数据仓库系统 Hive 的命令界面使用的是 JLine。 通过扩展 Karaf Console ,在开发命令行命令类的时候只需要继承 org.apache.karaf.shell.console.AbstractAction,并且覆盖这个类中的doExecute方法, 通过@Command 和@Option 注解标识命令名称和参数,并把命令类的完整类名写 入 commands 配置文件,在命令行启动后,系统会自动搜索并加载 commands 中所 有命令类。 3.6 系统使用流程 应用自动部署管理系统的使用分为初始化、部署应用、卸载应用、重启应用、 关闭应用、扩展应用、收缩应用等步骤。初始化让系统连接到 OpenStack 控制服务 器,并要求 OpenStack 创建并启动一台虚拟机为应用程序部署使用。部署应用过程 会做配置应用环境比如 Tomcat 中间件,上传应用程序文件,修改配置负载均衡等 工作,最终应用程序部署成功,可以通过浏览器访问。重启应用和关闭应用为应用 程序提供一般的常用开关和重启功能。扩展应用可以使用底层 OpenStack 提供的 计算资源,通过新增虚拟机的方式实现应用横向扩展。系统扩展和收缩对用户完全 透明,由于采用了负载均衡的方式,后端应用服务器的增加和减少不会让用户感觉