MCollective架构篇1-MCollective架构的引入

零基础学习Puppet自动化配置管理系列文档

Marionette Collective(MCollective)是一个与Puppet关系密切的服务运行框架。Puppet擅长管理系统的状态,但agent默认的30 分钟间隔的运行方式使它不合适作为实时管理控制工具使用,而MCollective的功能定位正式面向大规模主机群的实时任务并行处理。它离线消息中间件 技术实现检点间的信息传递,大量主机可以基于自身的某些固有属性(元数据)而非主机名进行分组,这意味着用这些信息按照不同标准将集群分为多个群组,任务 执行的目标是一个群组,而不是一台主机。 也可以参考纸飞机的博客关于mcollective的介绍 http://junqili.com/

MCollective特点:

能够与小到大型服务器集***互

使用广播范式(broadcast paradigm)来进行请求分发,所有服务器会同时收到请求,而只有与请求所附带的过滤器匹配的服务器才会去执行这些请求。没有中心数据库来进行同步,网络是唯一的真理

打破了以往用主机名作为身份验证手段的复杂命名规则。使用每台机器自身提供的丰富的目标数据来定位它们。目标数据来自于:Puppet, Chef, Facter, Ohai 或者自身提供的插件

使用命令行调用远程代理

能够写自定义的设备报告

大量的代理来管理包,服务和其他来自于社区的通用组件

允许写 SimpleRPC 风格的代理、客户端和使用 Ruby 实现 Web UIs

外部可插件化(pluggable)实现本地需求

中间件系统已有丰富的身份验证和授权模型,利用这些作为控制的第一道防线。

重用中间件来做集群、路由和网络隔离以实现安全和可扩展安装。

MCollective 就是一个框架,一个空壳。它除了 MCO 命令之外都可以被替换被自定义。

备注:更多信息请参考http://docs.puppetlabs.com/

Middleware(RabbitMQ、ActiveMQ)介绍

RabbitMQ是一个实现了高级消息排队协议(AMQP)的消息队列服务。RabbitMQ基于OTP(Open Telecom Platform,开发电信平台)进行构建,并使用Erlang语言和运行时环境来实现。 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现

备注:MCollective是基于Apache ActiveMQ中间件来进行开发和测试的,然而其对java和XML格式的配置文件的依赖使我们将更多的注意力和兴趣转移到RabbitMQ中间件服务 上。如果考虑到性能和扩展性,部署ActivemMQ是一个更好的选择。

工作原理图

mcollective触发更新图mcollective触发更新图

本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1566371,如需转载请自行联系原作者

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/408715

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。