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

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

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

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触发更新图网络

备注:更多详细信息请参考 http://docs.puppetlabs.com/mcollective/reference/basic/messageflow.html 框架

部署介绍

  • MCollective安装分client安装和server端安装,其次须要安装MQ,本实验选择RabbitMQ,安装好以后须要进行相应的设置,而后进行通讯。ide

  • 如何和puppet进行整合,须要经过puppet插件实现。工具

  • 本实验采用的版本为 mcollective 2.2.4 rabbitmq  3.1.5

返回主目录

交流方式:

微信公众号:puppet2014,可微信搜索加入,也能够扫描如下二维码进行加入

微信公众号微信公众号

QQ交流群:296934942

相关文章
相关标签/搜索