好的微服务架构=企业服务总线(ESB)的灭亡?

这些天,似乎每个人都在谈论微服务。 您可以在数百篇文章和博客文章中读到很多有关该主题的文章,但是我建议的出发点是Martin Fowler的这篇文章 , 该文章引发了有关这种新建筑概念的大量讨论。 本文介绍了创建良好的微服务体系结构面临的挑战,要求和最佳实践 ,以及企业服务总线(ESB)在此游戏中扮演的角色。

品牌和营销:EAI,SOA,ESB,微服务

让我们从有关面向服务的体系结构(SOA)和企业服务总线的一些历史入手,以了解为什么微服务变得如此流行。

许多年前,软件供应商为企业应用程序集成(EAI)提供了一种中间件,通常称为EAI代理或EAI主干。 中间件是一个中央枢纽。 那时,SOA刚刚兴起。 选择的工具是ESB。 许多供应商只是将其EAI工具更名为ESB。 没有其他改变。 一段时间后,出现了一些新的ESB,它们没有中央集线器,而是分布式代理。 因此,ESB服务于各种中间件。 许多人不喜欢“ ESB”一词,因为他们只知道中心一员,而不了解分布式中心。

因此,供应商经常避免谈论ESB。 他们不能再出售中央集成中间件了,因为所有东西都必须是分布式的并且是灵活的。 今天,您可以购买服务交付平台。 将来,它可能是微服务平台或类似的东西。 在某些情况下,代码库可能仍与20年前的EAI经纪人相同。 所有这些产品的共同点是,您可以通过实施“ 企业集成模式 ”来解决集成问题。

总结关于集成产品的品牌和营销的历史:不要关注性感的,令人印象深刻的名字! 相反,请着重注意架构和功能,然后问自己需要解决的业务问题,并评估哪种架构和产品可能对您最有帮助 当我说“ ESB”时,仍然有很多人仍然想到“中央ESB中心”,这真是令人惊讶。

良好的微服务架构的要求

克服这些挑战并利用微服务的全部价值的六个关键要求:

  • 服务合同
  • 从现有应用程序公开微服务
  • 服务发现
  • 跨服务协调
  • 管理复杂的部署及其可伸缩性
  • 跨服务可见

整篇文章详细讨论了这六个需求,并回答了现代ESB如何与微服务体系结构相关的问题。 在这里阅读完整的文章: 好的微服务体系结构会拼写企业服务总线的灭亡吗?

翻译自: https://www.javacodegeeks.com/2015/01/good-microservices-architecture-death-of-the-enterprise-service-bus-esb.html

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

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

相关文章

移动端UC /QQ 浏览器的部分私有Meta 属性

<meta name"format-detection" content "telephoneno"/> 格式检测 禁止识别我们页面中的数字&#xff0c;防止把其当作电话识别&#xff0c;emailno 禁止识别邮箱 IOS设备对META的私有属性 <meta name"apple-mobile-web-app-capable&qu…

IDC关于使用JBoss Fuse的商业价值的报告(与Apache Camel一起使用)

这只是一篇博客文章&#xff0c;具有更多的商业性质&#xff0c;但是您不能一无所有。 实际上&#xff0c;这也是使Apache Camel保持活力并保持良好状态的原因&#xff0c;这还归功于其商业上的成功。 希望从JBoss Fuse之类的产品中寻找有关在商业上使用Apache Camel的附加值的…

书评:精通Lambda:多核世界中的Java编程

从版本8开始&#xff0c;λ编程&#xff08;lambda编程&#xff09;终于在Java世界中引入。此功能将在很大程度上改变Java开发人员的编程方式以及针对样板代码的新“武器”。 Java 8通过引入新的Stream API&#xff0c;大部分已将函数式编程应用在Collections API中。 此外&…

js框架

PS&#xff1a;https://www.cnblogs.com/zx0303/p/js-liuxingkuangjia.html 下边这张表简述了js目前的流行框架的优点: AngularJ.js 由google开发&#xff0c;2009年首次发布 很流行的前端框架使用Angular.js创建第一个UI&#xff0c;成本很…

Spring-Quartz (一)

摘自&#xff1a; http://www.blogjava.net/Jay2009/archive/2009/03/25/259176.htmlSpring为创建Quartz的Scheduler、Trigger和JobDetail提供了便利的FactoryBean类&#xff0c;以便能够在Spring 容器中享受注入的好处。此外Spring还提供了一些便利工具类直接将Spring中的Bean…

如何在Java Reflection中的类下获取所有方法信息?

本文以我以前的文章为基础 。 在本文中&#xff0c;我们将看到如何使用Java Reflection检索类相关信息。 我们将重点介绍方法名称。 注意&#xff1a;我将创建一个单独的反射器实用程序类&#xff0c;在该类中&#xff0c;我们在其构造函数中输入一个目标类&#xff0c;然后使…

在Java EE 7上骑骆驼–带有Swagger文档的REST服务

骆驼开箱即用。 Swagger集成就是其中之一。 不幸的是&#xff0c;大多数已经存在的功能都严重依赖于Spring。 但这并不能阻止我们在普通的Java EE 7应用程序中使用它们&#xff0c;因为有时它只是服务器的轻量级变体。 但我不想再对此进行讨论。 相反&#xff0c;我认为在所有情…

怎么隐藏滚动条又能滚动

1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>滚动条隐藏</title>6 <style>7 body, ul, li {8 margin: 0;9 padding: 0; 10 …

Eclipse to android

JDK Eclipse Android SDK ADT 1 必须软件 Java JDK SE 1.6 (jdk-7u9-windows-i586.exe) Eclipse (Eclipse IDE for Java Developers) Google Android SDK (android-sdk_r15-windows.zip) ADT (ADT-15.0.0.zip) 如果找不到可参考&#xff1a; http://blog.csdn.net/zhenyong…

用多态和组合替换多个条件

这是一种众所周知的重构模式&#xff0c;可以将条件条件替换为多态性。 如果您不熟悉该模式&#xff0c;可以在此处查看 。 但是&#xff0c;一旦该类中有多个条件检查所基于的字段&#xff0c;该基本解决方案便会开始崩溃。 我们将研究一些有关如何使用这些可能性的想法。 有…

canvas画饼图

<style> body { background: black; text-align: center; } #cans { background: white; } </style> <script> function disToRad(n){//将度数表示弧度计算的方法 return n*Math.PI/180;//π用PI表示&#xff0c;π180&#xff0c;所以1PI/180 } w…

Web设计趋势分析

本文译自网站设计公司weavora.com&#xff0c;介绍了在他们眼里 8 个 Web 设计趋势&#xff1a;单页面、用照片做背景、色块设计、超大号的图片、聚焦简洁、响应式设计、视差滚动、强调字体&#xff0c;每个趋势后面都附了数个案例&#xff0c;相信对网站设计师会有一定的参考价…

使用Jasmine,Spock和Nashorn测试JVM服务器端JavaScript

JavaScript使用不仅限于浏览器中的客户端代码或NodeJS支持的服务器端代码。 许多基于JVM的项目都将其用作内部脚本语言。 测试这种功能既不简单也不标准。 在本文中&#xff0c;我打算演示一种使用成熟的工具&#xff08;例如Jasmine &#xff0c; Spock和Nashorn在服务器端JVM…

C#中的多态

封装、继承、多态&#xff0c;面向对象的三大特性&#xff0c;前两项理解相对容易&#xff0c;但要理解多态&#xff0c;特别是深入的了解&#xff0c;对于初学者而言可能就会有一定困难了。我一直认为学习OO的最好方法就是结合实践&#xff0c;封装、继承在实际工作中的应用随…

AJAX JSON

1、AJAX [1] AJAX简介 > 全称&#xff1a; Asynchronous JavaScript And XML > 异步的JavaScript和XML > AJAX就是通过JavaScript向服务器发送请求&#xff0c;并接收响应&#xff0c;然后我们在通过DOM来修改页面。 > XML指的是服务器响应的…

在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI

Java EE 8一直在发展&#xff0c;并且已经提出了几个新的组件JSR。 JSR 365将定义CDI 2.0的规范。 红帽公司已经开始研究Weld 3的实现原型&#xff0c;并且Alpha3最近发布了 。 Red Hat的Java EE 8兼容应用服务器将是WildFly&#xff0c;将在其中实现所有不同的技术。 同时&am…

mat-form-field must contain a MatFormFieldControl错误的解决方法

下面的代码竟然出错了&#xff1a; <mat-form-field><input matInput placeholder"输入名称"></mat-form-field> 错误提示的莫名其妙&#xff0c;其实只要导入以下模块就可了&#xff1a; imports: [MatFormFieldModule,MatInputModule,] 更多专业…

lua# lua5.1.4 源码文件作用一览

写了个脚本列出lua源码C文件头部的注释&#xff0c;作为我有一搭没一搭以Lua为对象学习编译原理的开端。 lua5.1.4全部的源码有35个C文件&#xff0c;17216行代码。每个文件基本的功能如下 ./output_lua_sources_comments.sh ~/resources/sources/lua/src …

带有Hibernate OGM的NoSQL –第一部分:持久化您的第一个实体

Hibernate OGM的第一个最终版本已经发布 &#xff0c;团队从发布狂潮中恢复了一些。 因此&#xff0c;他们考虑建立一系列教程式博客&#xff0c;使您有机会轻松地从Hibernate OGM重新开始。 感谢Gunnar Morling&#xff08; gunnarmorling &#xff09;创建了本教程。 介绍 不…

为自己写程序之JavsScript代码段测试器

JavaScript的测试&#xff0c;通常是在Firefox的firebug插件中测试的。不过有时只是测试几行代码都要写一个html&#xff0c;再打开浏览器测试运行结果&#xff0c;感觉并不是很方便。 今天花了点时间做了一个简易的JS片段测试器。其实这主要是看了IronJs开源项目以后&#xff…