使用保险丝结构管理MQ和ESB的大型部署,第I部分

FuseSource最近发布了ActiveMQ和ServiceMix发行版的企业版。 其中一些重要功能包括增量修补 , 自定义平台安装程序和第三方验证 。 新企业版附带的最酷的功能之一是Fuse Fabric和一些新工具 ,使您可以利用Fabric管理环境。 Fabric允许您通过一些命令行或在基于Web的漂亮应用程序中单击按钮来部署,配置和配置ESB容器和MQ容器 。 可以根据需要将任意数量的容器部署到远程盒或云中,进行自定义配置,以及从中央位置安装或升级应用程序,骆驼路线或容器本身。 设置大型部署以进行集成和管理非常困难。 织物和随附的工具有助于减轻这种痛苦。 另外,使用Fabric可以使您感到舒适,因为其许可证与其他Apache项目使用的开放,灵活的许可证相同: Apache License 2.0 。
部署头痛大
让我们简要回顾一下在整个企业中部署和维护集成容器的一些问题,无论是在数据中心还是在远程位置(例如移动平台或业务合作伙伴):
安装 :在一个盒子上,下载和安装(例如ActiveMQ)非常容易。 但是,举例来说,您具有一个复杂的代理网络和主从对网络。 您必须将ssh放入每个框中,解压发行版,相应地设置权限,在安装过程中设置所有目录或环境变量,然后在正确的端口上启动代理。
配置 :安装了代理后,您需要对其进行配置,以便通过正确设置网络连接器将其加入代理网络,将代理指向共享存储,设置任何流控制或订阅策略详细信息或其他内容代理配置调整是拓扑的一部分。 事实是,您的企业可能由不同的操作系统,具有不同资源可用性的计算机组成,并且针对不同的用例而设计,这可能会带来噩梦。
升级容器 :进行升级时,您必须遵循上面的两个步骤,并希望您不要弄乱任何东西。 如果出于任何原因需要回滚,则必须确保已采用自定义回滚策略。
Container Intropsection :您使用哪些工具查看OS /机器使用情况的基本统计信息? 还是基于ActiveMQ或Camel的解决方案的详细信息? 您可能需要登录到每个框,或找到每个框的JMX URL。 不用说,对于大型部署这样做将是令人望而却步的。
保险丝织物的创建旨在解决这些维护问题。 让我们看看如何。 首先,您可能有兴趣获得Fuse Fabric或Fuse管理控制台。 FuseSource建议通过管理控制台使用Fabric。 请注意以下两点:1)默认情况下, Fuse ESB Enterprise和Fuse MQ Enterprise附带了Fabric,但是2) 管理控制台 (由命令行外壳和Web应用程序组成)需要订阅webapp部分。 该网络应用需要订阅。 Shell控制台没有。

因此,请下载保险丝管理控制台 (FMC)并使用以下命令行启动外壳:

./bin/fmc

您会注意到,这是一个装有许多东西的Karaf容器。 Karaf是一个OSGI容器,内置了一些额外的东西。 让我们快速看一下FMC分发的一些内容:

在外壳中,键入以下内容,它将列出阈值> 0的所有捆绑包

FMC:karaf@FuseManagementConsole> list -t 0

一些有趣的东西:

  • 运行的Karaf实例所需的关键Karaf捆绑包
  • 保险丝结构Zookeeper服务
  • 保险丝芯
  • 码头捆绑
  • jclouds捆绑包
  • 保险丝应用套件
  • 保险丝管理控制台Web存档
需要注意几个关键事项:“动物园管理员”的想法? 服务,“? 保险丝应用套件 “? 和保险丝管理控制台Web存档。 如前所述,管理控制台需要订阅FuseSource,但是有很多机会可以在没有订阅密钥的情况下进行尝试。 有一些试用密钥可用于评估它。
Fuse Application Bundles是FuseSource的一个新项目,它使您可以更容易地将jar工件(或战争)作为OSGI捆绑包进行部署,而不必依赖于OSGI构建的知识(bnd)或清单的OSGI导入/导出细节。 它允许您部署工件,并使框架正确地将其识别为OSGI捆绑包,并自动配置所有正确的依赖项。
最后,Fuse Zookeeper服务在那里提供分布式注册表,用于存储配置和节点详细信息。 让我们进一步介绍一下。  

保险丝注册表

Apache Zookeeper通过提供分布式“协调”来支持Fuse Fabric的实施? 注册服务。 这意味着Zookeeper提供了一个注册表,其目的是存储有关可能在企业中部署的远程容器的信息。 Fuse Fabric注册表存储有关特定集成容器,这些容器的配置,这些容器的位置以及如何访问它们的信息。 您可以在群集( ensemble )中运行多个复制的注册表,以在某些注册表节点出现故障时提供高可用性。 建议使用奇数个注册表服务器来形成一个整体 。 启动FMC Shell之后,让我们使用以下命令创建结构,该结构将创建注册表:

FMC:karaf@FuseManagementConsole> fabric:create

让我们快速退后一步。 我们在说什么容器?  

货柜

Fuse Fabric的目的是管理,配置和配置容器。 容器是Karaf容器。 是的,Karaf容器是OSGI容器。 管理,配置和供应机制围绕Karaf,安装了哪些捆绑软件,启用了哪些功能,对于功能/捆绑包可用的配置等。Karaf是Apache ServiceMix和Fuse Enterprise ESB当前使用的核心容器。 如果您想稍微了解一下Karaf,请参阅Apache站点上的文档 。

因此,通过Fabric部署的所有东西都是Karaf容器,这些容器的位置,配置和可访问性都保留在注册表中(由Zookeeper实现)。 到目前为止,一切都很好? 让我们开始研究如何指定这些容器的配置。  

个人资料

Fuse Fabric具有称为配置文件的内容 ,可用于指定容器的配置。 配置可能太笼统,无法准确传达配置文件的功能。 个人资料“呼吸生命”? 放入原本毫无趣味的Karaf容器中。 让我们快速进入外壳。 输入以下内容:

FMC:karaf@FuseManagementConsole> profile-list

你应该看到的配置文件中包含“?骆驼”?“?ESB”?“?MQ”?“例如,MQ”?和其他几个人的名字。 这些是开箱即用的配置文件。 骆驼配置文件将一个容器变成了一个能够运行骆驼路线的容器。 mq配置文件将容器变成ActiveMQ代理。 esb配置文件变成一个容器,您可以在其中构建骆驼路线,activemq客户端并使用NMR。 换句话说,配置文件是“包”? 可以应用于容器的功能 如果您熟悉OSGI和Karaf功能,则可以使用功能和捆绑包来实现这些配置文件 。 配置文件指定了容器应安装的功能,保险丝应用程序捆绑包,OSGI捆绑包,maven存储库,配置服务属性和系统属性应可用并将其安装到容器中。 这是对“配置”进行分组的一种非常有效的方法,只需单击一下按钮即可将其应用,以将Karaf容器变成功能更强大的集成容器。 可以将多个概要文件应用于一个容器,并且可以将单个概要文件部署到多个容器(多对多关系)。

FMC中默认情况下可用的配置文件可用作创建自己的配置文件的起点。 可以从配置文件继承配置文件,子配置文件可以覆盖父配置。 您可以使用从多个“父配置文件”继承吗? 也一样 假设您有一组容器,所有这些容器都应部署相同的骆驼路线,但是每个容器针对该路线将具有不同的配置。 您可以从父配置文件开始,并从其继承其他指定更具体配置的配置文件。

概要文件也可以进行版本控制。 例如,在开箱即用的状态下,您会看到所有配置文件都被视为“ 1.0版”的一部分。 一个版本指定“一组配置文件”。 如果要创建新版本,则可以为1.1或2.0版本或您指定的编号创建一组新的配置文件。 使用版本,您可以快速部署新版本的容器,应用程序,代理,配置等,以选择容器或所有容器。 版本控制机制是Fuse Fabric允许您支持对容器进行部署的滚动升级的方式。  

保险丝座
所有版本的所有配置文件都存储在保险丝注册表(zookeeper)中。 使用Fuse Fabric创建新容器时,它是使用代理服务创建的。 代理或资源调配代理位于远程容器中,并连接到注册表以找出对其应用了哪些配置文件。 当看到配置文件或对配置文件进行更改时,该代理负责配置和安装所需的功能,捆绑软件和配置。
对Fuse Fabric部署的容器的隐含限制是,您无需登录到容器并在本地进行更改。 所有更改都应由注册表和保险丝结构管理。
概括
分布式注册表用于对有关已部署哪些容器,它们在何处以及如何到达它们的信息进行分类。 注册表还包含配置文件和所有版本的配置文件形式的所有配置。 一个容器,仅是一个Karaf容器,与Fuse Fabric一起部署并连接到注册表以查看对其应用了哪些配置文件。 容器的供应代理负责下载,安装和配置概要文件指定的所有功能和捆绑包。 可以应用的配置文件种类包括添加代理功能,ESB功能,骆驼路线,保险丝应用程序捆绑包,CXF Web服务,OSGI服务以及可以部署到OSGI容器中的任何其他内容的配置文件。
在这篇文章中,我们对Fuse Fabric是一个广泛的概述。 在第2部分中,我们将更仔细地研究Fabric的功能,并展示一些凉爽之处,使我们能够解决与部署和管理大量容器或代理有关的难题。

参考:通过Christian Posta软件博客的JCG合作伙伴 Christian Posta, 使用Fuse Fabric管理MQ和ESB的大型部署,第一部分 。


翻译自: https://www.javacodegeeks.com/2012/07/managing-large-deployments-of-mq-and.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis参数传递及返回类型

mybatis参数传递: 单个参数:不做特殊处理 #{参数名}:取出参数值 多个参数:做特殊处理 多个参数会被封装成一个map key:param1 ... paramN value:传入的参数…

网络html代码是什么问题,html代码问题

html代码问题來源:互聯網 2010-03-22 10:35:57 評論分類: 電腦/網絡 >> 程序設計 >> 其他編程語言問題描述:这三种链接格式我都试了,都不行,请高手指点下。。。。。注意:我要的是代码,不是操作方法,因为…

spring mvc 文件上传

spring mvc 文件上传 一、单文件上传 配置步骤&#xff1a; 步骤一、在配置文件中配置包扫描器&#xff08;暂且这样配&#xff0c;会出问题&#xff0c;我们下面说解决方案&#xff09; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns…

使用工厂模式解决设计问题

工厂设计模式是面向对象环境中最常用的模式之一。 再次来自“创意设计”模式类别&#xff0c;即有关对象创建的所有信息。 在某些情况下&#xff0c;对象的创建很复杂&#xff0c;可能需要某种程度的抽象&#xff0c;以便客户端代码无法意识到这些复杂性和内部实现细节。 在某些…

103. Binary Tree Zigzag Level Order Traversal

二刷。 BFS&#xff0c;基本习惯上用Iterative的做法来做&#xff0c;就是QUEUE。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ public class Solution…

java多线程系列13 设计模式 Future 模式

Future 模式 类似于ajax请求 页面异步的进行后台请求 用户无需等待请求的结果 就可以继续浏览或者操作 核心就是&#xff1a;去除了主函数的等待时间&#xff0c;并使得原本需要等待的时间段可以用于处理其他业务逻辑 JDK内置实现Future模式演示一下 public class RealData im…

lodop转到其他html页面,Lodop实现打印功能

思路&#xff1a;1、在 html 页面引入 LodopFuncs.js 文件&#xff0c;并用 object 标签和 embed 标签获取 lodop 对象2、在 js 中获取 html 页面中的 object 和 embed 对象&#xff0c;并使用getLodop() 方法得到 lodop 对象3、实现打印功能&#xff0c;以下三步是必需的初始化…

完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第3部分

Primefaces AutoComplete&#xff0c;JSF转换器 这篇文章从第一部分和第二部分继续。 JSF拥有Converter工具&#xff0c;可以帮助我们从用户视图中获取一些数据并将其转换为从数据库或缓存中加载的对象。 在“ com.converter”包中&#xff0c;创建以下类&#xff1a; packa…

html5首屏加载乐山暴雨,发布前端项目时因chunk-vendors过大导致首屏加载太慢,Vue Build时chunk-vendors的优化方案...

这个优化是两方面的&#xff0c;前端将文件打包成.gz文件&#xff0c;然后通过nginx的配置&#xff0c;让浏览器直接解析.gz文件。1、compression-webpack-plugin插件打包.gz文件安装插件npm install --save-dev compression-webpack-plugin或者yarn add compression-webpack-p…

width:100vh与min-height:calc(100vh + 51px)

vh:相对于视窗的高度&#xff0c;那么vw:则是相对于视窗的高度。 “视区”所指为浏览器内部的可视区域大小&#xff0c;即window.innerWidth/window.innerHeight大小&#xff0c;不包含任务栏标题栏以及底部工具栏的浏览器区域大小。 详细vh的用法&#xff0c;大家可以参考http…

XML配置文件中的Spring配置文件

我的上一个博客非常简单&#xff0c;因为它涵盖了我从Spring 3.0.x到Spring 3.1.x的轻松升级&#xff0c;最后我提到可以将Spring模式升级到3.1&#xff0c;以利用Spring的最新功能。 在今天的博客中&#xff0c;我将介绍这些功能中最酷的功能之一&#xff1a;Spring配置文件。…

交大计算机专业怎样,计算机专业高校实力排名,上海交大第五,清华第二,第一毫无争议...

原标题&#xff1a;计算机专业高校实力排名&#xff0c;上海交大第五&#xff0c;清华第二&#xff0c;第一毫无争议计算机专业在近几年可谓是“大热”&#xff0c;众多考生抢破头也想当码农&#xff0c;背后的原因其实不难理解。互联网时代的到来&#xff0c;计算机早已渗透到…

python_day7 绑定方法与非绑定方法

在类中定义函数如果 不加装饰器 则默认 为对象作为绑定方法 如果增加 classmethod 是 以 类 作为绑定方法 增加 classmethod 是 非绑定方法&#xff0c;就是不将函数 绑定 ##################### class Foo: def func(self): print(self) classmethod def func…

Spring Security使用Hibernate实现自定义UserDetails

大多数时候&#xff0c;我们将需要在Web应用程序中配置自己的安全访问角色。 这在Spring Security中很容易实现。 在本文中&#xff0c;我们将看到最简单的方法。 首先&#xff0c;我们将在数据库中需要以下表格&#xff1a; CREATE TABLE IF NOT EXISTS mydb.security_role (…

python之路-面向对象

编程范式 编程是 程序 员 用特定的语法数据结构算法组成的代码来告诉计算机如何执行任务的过程 &#xff0c; 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合&#xff0c;正所谓条条大路通罗马&#xff0c;实现一个任务的方式有很多种不同的方式&#xff0c; 对这…

西安邮电大学计算机科学与技术有专硕吗,2020年西安邮电大学计算机学院考研拟录取名单及排名!...

20考研复试调剂群&#xff1a;4197552812020年西安邮电大学计算机学院硕士研究生招生复试成绩及综合排名各位考生&#xff1a;现将我院2020年硕士研究生招生复试成绩及综合排名公布(最终录取名单及新生学籍注册均以“全国硕士研究生招生信息公开平台”备案信息为准)&#xff0c…

用Java排序的五种有用方法

Java排序快速概述&#xff1a; 正常的列表&#xff1a; private static List VEGETABLES Arrays.asList("apple", "cocumbers", "blackberry");Collections.sort(VEGETABLES);output: apple, blackberry, cocumbers反向排序&#xff1a; pri…

[python]-数据科学库Numpy学习

一、Numpy简介&#xff1a; Python中用列表(list)保存一组值&#xff0c;可以用来当作数组使用&#xff0c;不过由于列表的元素可以是任何对象&#xff0c;因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3]&#xff0c;需要有3个指针和三个整数对象。对于数值运…

检测一个点, 是否在一个半圆之内的方法

demo: http://jsbin.com/lihiwigaso 需求: 一个圆分成分部分, 鼠标滑上不同的区域显示不同的颜色 思路: 先判断这个点是否在圆之内, 再判断是否在所在的三角形之内就可以了 所需要的全部源码: <!DOCTYPE html> <html> <head><meta charset"utf-8&quo…

计算机网络设备接地规范,网络机房防雷接地的四种方式及静电要求

编辑----河南新时代防雷由于计算机网络系统的核心设备都放置在网络机房内&#xff0c;因而网络机房防雷接地有了较高的环境要求&#xff0c;良好的接地系统是保证机房计算机及网络设备安全运行&#xff0c;以及工作人员人身安全的重要措施。直流地的接法通常采用网格地&#xf…