服务器集群管理框架从构思到完成(一)For阿里云开发者大赛

http://2012.aliyun.com/works/finalist 阿里云开发者大赛43号作品,期待你投票支持)

1.  想要完成的功能。

(1)支持Windows、Linux平台;

(2)支持公网、私网复合网络;

(3)本地及远程命令引擎;

(4)文件批量发送下载;

(5)自动化脚本任务定制;

(6)动态插件扩展;

(7)工具平台集成;

(8)作为自动化框架应用于管理维护和测试等。

【 用逻辑脚本和指令控制各个服务器、服务器上的程序和脚本7*24小时自动、并行、有序地工作,无人值守,本地资源代码一“丢”,报告和邮件会及时自动来找你汇报,接受检查。应用如自动化测试、自动部署维护等。】

2.  对象是针对多个服务器,既然敢称之为一个框架,那么至少得有几个特色吧…

  (1) 网络共享通信少不了,考虑到易用性,Windows平台网络通信方面做成STAF模式:对等式(对用户而言不论客户机还是服务机就一个安装包,显式不区分Client与Server,当然内部Client与Server实现模块均集成)。考虑到是多服务机,也可能是多客户机,即多对多,需要较好的处理性能(当然性能要求也不是特别严格,不需要支持海量在线),那么Client与Server均采用异步通信模式、线程池处理包队列。

  (2) 既然对象是针对服务器,肯定少不了Linux,所以Windows、Linux平台均需要支持。Windows采用网络编程,Linux通过SSH协议通信,这样成本比较小、容易实现。Linux操作一样采用线程池处理包队列。

  (3) Linux Shell命令是Linux服务器操作的主要方式,通过SSH通道都能实现,Windows的Dos命令同样得实现支持,这样命令式操作服务器就没问题了。可是需要调用执行shell脚本文件、bat脚本文件或者其他程序、其他脚本呢?还有文件操作、文件传输?如果要实现一些复杂的批量任务,比如自动更新服务器程序、自动安装部署、服务器管理维护等,这些统统都是需要实现的基本功能,每个基本功能都实现命令式调用接口,形成一个内部命令执行引擎。

  (4) 接上一点,单机既然能够实现一些复杂的批量任务了,那么这单机的逐个任务的一些先后顺序和逻辑条件,谁来控制?还有是多服务器,各个服务机(Windows和Linux)之间若存在相关先后顺序和逻辑条件,谁来控制?那么就必须支持动态语言了,嵌入一种或几种脚本解析器,使用脚本语言来控制这些逻辑是比较明智的,而且能达到不同程度的自动化效果。(自动化程度取决于框架功能和脚本的结合,脚本实现不了的特定功能需要不断丰富并开放接口给脚本内调用。)

  (5) 安全方面:STAF都有信任等级区分,所以并不是所有机器安装有程序就能互连操作,还是需要自定义一个校验值(token),校验错误的连接不上,校验正确方可互连操作。请求方(客户机)加密存储,被请求方(服务机)明文配置(便于查看)。除了文件流,网络通信包均加密传输,即使被抓包工具截获也无法获取信息。Windows可以自设token,Linux的登录用户名和密码就视作为token。

  (6)  平台化扩展:Eclipse和Staf都能提供API支持插件或服务开发,那么仿照此功能,能够开放一些API作为二次插件开发,就可以不断累积集成一个平台,集思广益实现各种各样的内部功能。一些常用单机程序(Windows)扔进目录,可在界面中显示和点击实现外部调用,也算一个桌面工具条式平台。

  (7) 网络支持:局域网、ADSL拨号网络、公网等网络进行网络通信和文件传输时需区别对待,区分局域网IP(私网)、对外公网IP、网络出口IP等,局域网内不通过公网直接通信效率更高,ADSL家庭办公就只能通过出口IP和公网IP连接了(延伸VPN等原理)。对用户而言,通过什么网络路径连接都是没有区别的,能够并存,除了速度外操作没有差异。 
  (8) 美观性易用性考虑,Windows、Linux服务器操作界面一样,各种操作对用户而言差异化最小。

  (9) 四周左右,工作时间闲暇完成。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值