业务活动监视器(BAM)2.0带来的革命

生产兼具精益和企业价值的中间件是一项艰巨的工作。 它要么不存在,要么需要创新的思维(很多),并且需要在实现中反复进行。 业务风险很大,但是如果您做对了,它就会使您领先于其他任何公司。 这就是为什么我们考虑从头开始重写WSO2 BAM并进行一次飞跃,而不是通过迭代修复慢慢放弃。 如果您不想听我说而不是读这篇,请在http://bit.ly/xKxm8R上进行在线研讨会。
http://softwarecreation.org/2008/ideas-in-software-development-revolution-vs-evolution-part-1/
当您尝试监视业务活动时,您需要插入服务器并捕获事件。 这听起来很容易,那么有什么大不了的呢? 你可能会问。 这是我们的BAM 1.x初始版本遇到的一些障碍:
  • 性能–我们插入了ESB和App Server,所有指标都很完美。 它很好地显示了请求计数,响应时间等。只要负载很低,它就很完美。 如果一台服务器开始发送1000个事件/秒,事情开始变得难看。 更糟糕的是,如果我们插入几台服务器并开始每天获得10亿个事件,那么从一开始,这将是一场噩梦。 我们甚至无法理解那种规模的情况。
  • 可伸缩性–我们需要存储事件并进行处理。 可悲的是,我们发现这将意味着我们需要以许多不同的方式进行扩展。
    • 事件负载–我们需要扩展规模以处理大量事件。
  • 可定制性–我们提供了一组可爱的仪表板,显示了您想了解的有关服务器和API指标的所有信息。 但是,没有人对他们拥有的东西感到满意。 他们想要更多。 他们希望监视自己的指标并分析其数据并建立自己的图形。 而且,当然,他们希望现在就这样做,而不是两个月之内。
2011年5月,我们决定启动一项全新的计划,以从头开始重写WSO2 BAM。 我们对问题做出了一些决策。 这是其中的一些。
  • 分而治之–我们划分了问题。 我们必须汇总,分析和呈现数据。 因此,我们为每个组件构建单独的组件,请记住,我们需要分别缩放每个组件。 我们将它们映射到事件接收器,分析器框架和表示层。 数据代理是任何想要发送事件的人与BAM服务器之间的链接。 WSO2 Carbon平台使我们能够轻松地从任何服务器上卸载组件。 这意味着我们可以制作BAM发行版,卸载其他组件来制作Event Receiver BAM服务器。 或制作分析器BAM服务器。 只需单击一个按钮。
BAM 2.0的3个主要组件
  • 可扩展的快速存储–我们选择使用Apache Cassandra作为我们的存储解决方案。 我不想说这是有史以来最好的数据存储。 但是,它对我们很好。 它使我们能够进行快速写入以快速存储大量数据。 而且,它是按比例构建的。 放大Cassandra只需几分钟,而不是几周。 扩大规模并不意味着要花钱。 而且,它是用Java编写的,并且是一间Java房屋,它使我们可以破解代码。
  • 快速协议–我们选择使用Apache Thrift作为默认协议。 有很多反对它的论点,但它对我们来说很有利。 它既快速又有效。 它允许我们维护会话,支持多种语言。 一个关键的事情是Cassandra也使用它,使我们能够在不反序列化的情况下将数据流传输到Cassandra中获得更高的性能。
  • 可扩展的分析–我们选择编写自己的分析语言。 但是,如果不合适,则可以插入自己的Java代码。 在扩展分析方面,Hadoop是不可避免的。 因此,我们决定采用Hadoop模式处理大量数据,而采用非Hadoop模式,这样任何人都可以使用BAM,而不必担心任何Hadoop集群。
    • 基于小工具的仪表板/报告–拖放可视化非常吸引人,当您不想花费数周的时间编写代码进行可视化时。 我们开发了一个小工具生成器,以便您可以快速轻松地可视化已分析数据。
      经过几个里程碑之后,我们得以剥离出一个alpha。 可在此处获得: http : //dist.wso2.org/products/bam/2.0.0-Alpha/wso2bam-2.0.0-ALPHA.zip。 这不是灵丹妙药,文档仍然是在制品。 但是,如果我们还没有到达目的地,那现在就在我们的范围之内。

      参考:在dev_religion博客上,我们的JCG合作伙伴 Mackie Mathew提出了Business Activity Monitor(BAM)2.0的革命 。


      翻译自: https://www.javacodegeeks.com/2012/06/revolution-with-business-activity.html

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

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

      相关文章

      oracle销售服务器吗,oracle 服务器 版本

      oracle 服务器 版本 内容精选换一换Atlas 800 训练服务器(型号 9010)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9010)》。Atlas 800 训练服务器(型号 9010)适配操作系统如表1所示。请参考表2下载驱动和固件包。Atlas 800 训…

      html 甘特图_Rplotly|交互式甘特图(Gantt chart)项目管理/学习计划

      甘特图(Gantt chart),又常被称为横道图或者条状图,是现代企业项目管理领域运用最为广泛的一种图示。就是通过条形来显示项目的进度、时间安排等相关情况的。项目管理外,也可以用来管理学习计划。绘制甘特图的工具有很多,本文介绍使…

      Oracle Coherence:分布式数据管理

      本文介绍如何使用Oracle Coherence提供分布式(分区)数据管理。 在下面的示例应用程序中,创建了一个名为OTV的新集群,并且在该集群的两个成员之间分配了一个名为user-map的缓存对象。 二手技术: JDK 1.6.0_21 Maven的…

      美团点评DBProxy读写分离使用说明

      目的 因为业务架构上需要实现读写分离,刚好前段时间美团点评开源了在360Atlas基础上开发的读写分离中间件DBProxy,关于其介绍在官方文档已经有很详细的说明了,其特性主要有:读写分离、负载均衡、支持分表、IP过滤、sql语句黑名单、…

      apriori算法c++_关联分析——基于Apriori算法实现

      电子商务推荐系统主要是通过统计和挖掘技术,根据用户在网站上的行为,主动为用户提供推荐服务,从而提高网站体验。而根据不同的业务场景,推荐系统需要满足不同的推荐粒度,包括搜索推荐,商品类目推荐,商品标签推荐,店铺推…

      在Oracle Coherence中分发Spring Bean

      本文展示了如何通过使用Oracle Coherence中的EntryProcessor和可移植对象格式(POF)功能来分发Spring Bean。 Coherence通过EntryProcessor API支持无锁编程模型。 此功能通过减少网络访问并在条目上执行隐式的低级锁定来提高系统性能。 此隐式低级锁定功…

      Apache Commons SCXML:有限状态机实现

      本文提到有限状态机(FSM),SCXML(状态图可扩展标记语言)和Apache Common的SCXML库。 本文还提供了基本的ATM有限状态机示例代码。 有限状态机: 您可能还记得计算机科学课程中的有限状态机。 FSM用于设计计算…

      pymol怎么做底物口袋表面_怎么从文献中发掘一篇新文章?

      本文来自微信公众号:X-MOLNews可能你的导师也曾说过这样的话——盯着Nature、Science级别的文章做,可能最终会中十分的文章;如果盯着十分的文章做,可能最终发出来也就五六分;但如果就为了发个文章混毕业,很…

      如何分析线程转储– IBM VM

      本文是我们的线程转储分析系列的第4部分,它将为您概述什么是IBM VM的JVM线程转储以及您将找到的不同线程和数据点。 您将看到和学习​​到,IBM VM Thread Dump格式是不同的,但是提供了更多现成的故障排除数据。 在这一点上,您应该…

      VMware vSphere克隆虚拟机

      参考资料:http://blog.csdn.net/shen_jz2012/article/details/484167711. 首先将你所要克隆的虚拟机关掉2. 选择你的ESXI服务器选中"配置",然后选中存储器右键你的存储介质,比如我的是datastore1,选择“浏览数据存储”。…

      windows命令行无法启动redis_windows系统安装redis

      1、下载最新redis https://github.com/MicrosoftArchive/redis/releases我选择下载msi版本的2.双击下载包安装3.设置redis环境变量,把redis路径配置到系统变量path值中4启动redis,cmd进入安装好redis文件夹 输入:如果redis启动出错Creating S…

      OpenShift Express Web管理控制台:入门

      本周, 最新版本的OpenShift为已经很棒的PaaS Cloud提供商带来了两个非常好的功能。 首先,JBoss AS已从7.0升级到7.1,并且所有新的Express Web Management Console已作为预览发布。 在本文中,我们将研究如何使用此新控制台&#xf…

      女士细线毛衣起多少针_从起针到缝合,教你织毛衣的各种要点(详细教程)

      新手学织毛衣看过来,7大编织要点帮你解决织好一件毛衣的基础问题,满满的干货,每点都值得学习!一、起针二、棒针符号三、如何织小样四、依据小样推算针数收挂肩的推算五、斜肩针数的推算开前、后领的位置与针数六、袖山的推算七、如何上袖子一…

      Jelastic Java云端平台

      谁在Jelastic背后? 那是我的第一个问题,因此我浏览了Jelastic网站。 回答此问题的最佳方法是查看“ Jelastic团队”部分。 创始人,顾问,特殊合作伙伴构成了一支真正的专业团队。 作为特殊的合作伙伴,您会发现MySQL&am…

      请先设置tkk_搅拌站水泥罐仓顶除尘器设置及调整

      搅拌站水泥罐仓顶除尘器采用脉冲喷吹清灰系统,除尘器本体结构,采用标准模板焊接,整体结构,强度牢靠,组装维修方便,脉冲清灰采用时序控制器MCY系列 控制阀门KEK系列,喷吹清灰频率及喷吹间隔可手…

      并发–执行程序和Spring集成

      基于线程池/执行器的实现 比原始线程版本更好的方法是基于线程池的线程池,其中基于运行任务的系统定义了适当的线程池大小– CPU数量/(任务的1-Blocking Coefficient)。 Venkat Subramaniams书中有更多详细信息: 首先&#xff0c…

      后面的参数_英特尔I系列CPU大家都知道,后面的参数你有没有了解过

      嗨!大家好,我是伟仔,今天主要是和大家聊下CPU。大多数人买笔记本或台式电脑对CPU的要求就知道I5或者I7之类的。像是I7一定比I5要好,I3很LOU这样的,当然这样子的观点是不正确的,今天我会告诉大家&#xff0c…

      移动端

      http://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html 移动端手淘使用方案 移动端px自动转换rem插件 CSSREM Flexible 转载于:https://www.cnblogs.com/yuruiweb/p/6723580.html

      OutOfMemoryError:Java堆空间–分析和解决方法

      java.lang.OutOfMemoryError:Java堆问题是在支持或开发复杂的Java EE应用程序时可能会遇到的最复杂的问题之一。 这篇简短的文章将为您提供此JVM HotSpot OutOfMemoryError错误消息的描述,以及在解决该问题之前应如何解决此问题。 有关如何确定要处理的O…

      Google AppEngine:任务队列API

      任务队列 com.google.appengine.api.taskqueue 使用任务队列,用户可以发起一个请求,以使应用程序执行此请求之外的工作。 它们是进行后台工作的强大工具。 此外,您可以将工作组织成小的离散单元(任务)。 然后&#xf…