论文部分内容阅读
随着互联网的发展以及移动互联网时代的到来,为了应对大数据下的业务需求,集群的规模也在日益的变大,与此同时分布式系统的自动化部署和自动化管理的问题日益突出。尽管现在已经有了例如Ansible等的自动化部署的软件,实现了部分的部署和管理工作,但是自动化部署和管理工作仍然面临着巨大的挑战。本文将要阐述的分布式系统资源管理与部署平台就是一个提供自动化部署和管理的系统。该系统摒弃了传统的开发与部署管理相分离的模式,将服务以组件的形式进行部署和管理,并将服务的开发和部署管理紧密的结合在一起;并采用可定制的资源统计策略以及可定制的分配策略,在增加系统的可扩展性的同时,应对服务对不同资源的要求并且合理的进行自动化节点分配。分布式系统资源管理与部署平台在提供了轻量级的系统资源管理的接口的同时提供了集群自动化部署与管理的功能。该系统自底向上,层层依赖,分别依赖于下层的基于COM的组件框架OCF、基础网络通信引擎IoEngine和类RPC的消息通信组件Channel。该系统由三个子系统构成:1.轻量级的分布式系统资源管理子系统,该子系统通过P2P的方式将集群中的节点组织起来,并且向外提供一个统一的获取当前节点资源的使用情况的并且可扩展的接口2.组件池子系统,该系统将进群中所有的组件进行统一的管理,为整个系统提供所有的服务组件和策略组件,用户和其他模块可以向组件池注册、更新、删除以及获取组件3.构建于前面两个子系统的分布式部署管理平台,该平台提供了对分布式集群的自动化部署和管理的功能,并且可以通过下层的系统资源管理子系统的接口来自动化分配节点和达到负载均衡效果与此同时系统具有良好的可扩展性。不同的用户可以利用三个子系统提供的接口,根据用户自己的需求来自定义集群的管理工作。本文将以前面部分的理论基础及相关技术为基础,着重介绍了分布式系统资源管理与部署平台的需求分析和设计与实现,到最终的功能和性能测试。该系统在Free BSD下使用C++进行开发,采用基于COM的组件框架OCF,并使用基于组件的异步编程模型。测试表明其在完成本身功能的同时具有良好的性能。