esb 服务编排_在ESB中进行路由和编排之间的选择

article/2025/10/3 2:50:24

esb 服务编排

介绍

如今,企业服务总线确实是有用的解决方案,它结合了一系列工具,可以解决应用程序和服务集成领域中的实际问题。 但是,它们给工具箱带来了轻微的不便,给工具箱用户带来了不便,后者知道解决问题的方法必须在工具箱中,但出于他的原因,他不知道是哪一种!

本文的目的是帮助ESB用户在遇到最复杂,最多样化的ESB概念(路由和编排)时,根据他们的需求选择正确的答案。 我们将不使用抽象理论,而是使用符合OW2 PEtALS JBI的ESB [1]在简单,真实的示例中进行工作和推理,以填补低级路由与全局业务服务编排之间的空白。 换句话说:我们将尝试揭示路由和业务流程的不同层是如何建立的。

从企业服务总线到路由问题

ESB具有很多应用领域,包括实施信息系统范围的面向服务的体系结构(SOA)。 但它们的最低目的都是为了简化应用程序和服务的集成-也就是说,让一个应用程序或服务调用另一个。 这种非常简单且通用的工作具有各种附加级别的复杂性:

  • “路由”,是指呼叫源于一个或多个目标服务之间进行选择的一个或多个源服务时;
  • 当服务在另一个协议上公开时,“协议桥”属于其他服务器甚至其他信息系统;
  • “转换”,即服务消息的数据格式不同时–这是规则而不是例外。

这三个:路由,协议,转换具有一系列紧密的同级关系,但是仍然可以视为主要的ESB概念。 在本文中,我们将重点介绍第一个及其与Orchestration的紧密关系的关系。 作为简短的介绍,我们可以说路由从根本上说是低层的,在ESB核心附近或在ESB核心中,并且依赖于技术配置(例如服务部署描述符)来提供关于必须将消息发送到何处的技术决策。 编排可以看作是组合服务调用以创建更高级别,更有用的组合服务,但通常也具有确定的“业务级别”环,在这种情况下,是实现将业务特定服务组合在一起的业务级别流程的简写应用程序和信息系统。

路由与编排:“一个大小不能适合所有人”或“黑白”世界

那么,ESB如何满足编排需求呢? 使用中间件解决方案随附的编排引擎似乎很合逻辑。 但是,这对于一个复杂的问题来说太简单了。 让我们考虑以下示例。

显示项目清单

“ ItemManager”应用程序旨在通过创建,更新,删除等操作来管理项目。 此应用程序连接到“ ItemManagementListener”服务,该服务在更新项目时发布通知。

另一个应用程序“ HammerMonitor”应用程序是一种监视工具,它显示有关项目更新的信息,尤其是有关锤子的信息。 此应用程序通过接收这些通知的“显示”操作公开“ HammerMonitor”服务。

两种服务都在ESB上公开。 我们想要的是让HammerMonitor显示ItemManagement应用程序已知的锤子。

为了将ItemManagementService连接到HammerMonitorService,我们需要配置ESB连接器(也称为“绑定组件”)。 一个连接器链接到ItemManager应用程序,另一个连接器链接到HammerMonitor应用程序。

此外,链接到HammerMonitor应用程序的连接器配置为在ESB内部公开其名称可以为“ hammerMonitorService”的端点。 因此,实现我们目标的一种简单方法是配置链接到ItemManager应用程序的连接器,以使其在ESB内部每次从ItemManager应用程序接收到消息时都调用端点“ hammerMonitorService”。

但是,就像在现实世界中一样,我们可以说两种服务都具有不同的数据格式。 这不是SOA的障碍,因为SOA定义了松散耦合的体系结构(即,服务使用者不必须符合服务提供者的定义)。

ItemManagement应用程序向ItemManagementListenerService提供以下消息:

<items>
<item type="Hammer" name="hammer1"/>

http://chatgpt.dhexx.cn/article/v6Yko6Fj.shtml

相关文章

服务编排:conductor学习(一)

一.Conductor介绍 conductor官方文档&#xff1a;https://netflix.github.io/conductor/conductor介绍&#xff1a;主要是帮助我们在Netflix上编制基于微服务的流程。conductor架构&#xff1a; 4.conductor的安装和运行&#xff1a; 从github查看源代码https://github.co…

如何做服务编排/数据聚合?(使用Goku API Gateway实现)

什么是服务编排/数据聚合&#xff1f; 服务编排/数据聚合 指的是可以通过一个请求来依次调用多个微服务&#xff0c;并对每个服务的返回结果做数据处理&#xff0c;最终整合成一个大的结果返回给前端。 例如一个服务是“查询用户预定的酒店”&#xff0c;前端仅需要传一个订单…

k8s 使用 yaml 进行服务编排

K8s 是一个容器编排引擎&#xff0c;使用 YAML 文件编排要部署应用&#xff0c;因此在学习之前&#xff0c;应该了解 YAML 语法格式&#xff1a; 缩进表示层级关系不支持制表符 “tab” 缩进&#xff0c;使用空格缩进通常开头缩进 2 个空格字符后缩进 1 个空格&#xff0c;如冒…

Netty学习五:Netty框架之服务编排

一、核心编排组件&#xff1a;ChannelPipeLine ChannelPipeLine是Netty的核心编排组件&#xff0c;负责调度各类ChannelHandler&#xff0c;实际的加工处理由ChannelHandler完成。 ChannelPipeLine可以看做是ChannelHandler的容器&#xff0c;包含一组ChannelHandler实例&…

企业级低代码服务编排库 - Commander

写在前面。低代码最近被炒的火热&#xff0c;各种争议不断&#xff0c;我们且不去添油加醋&#xff0c;仔细想来&#xff0c;在一些特定的场景&#xff0c;在整体架构的特定层面&#xff0c;低代码平台确实是可以发挥其长处的&#xff0c;足矣。 一&#xff0e;微服务编排的必…

资源调度和服务编排技术架构

从传统云网融合的角度出发&#xff0c;结合边缘计算、网络云化及智能控制的优势&#xff0c;在算力网络连接下实现更加广泛的算力资源纳管和动态调度。算力网络正是为了提高云、边、端三级计算的协同工作效率而出现的。算力网络资源调度和服务编排整体技术架构如图1所示。 图1 …

如何通过网关做服务编排?

什么是服务编排/数据聚合&#xff1f; 服务编排/数据聚合 指的是可以通过一个请求来依次调用多个微服务&#xff0c;并对每个服务的返回结果做数据处理&#xff0c;最终整合成一个大的结果返回给前端。 例如一个服务是“查询用户预定的酒店”&#xff0c;前端仅需要传一个订单…

零代码平台中的服务编排思路

先打个广告&#xff0c;我们的第三场零代码实践的直播在本周五&#xff08; 11 月 5 日 &#xff09;晚8点准时开始&#xff0c;扫描下面二维码&#xff0c;直接预约直播&#xff0c;到时间微信会自动提醒。 随着企业数字化转型的进程加快&#xff0c;零代码平台的的应用越来越…

Kstry框架一种服务编排的实现

Kstry是什么&#xff1f; 所见&#xff08; 图示模型 &#xff09;即所得&#xff08; 代码执行 &#xff09;的可视化流程编排框架可轻易将流程从串行升级到并行&#xff0c;支持任务拆分、任务重试、任务降级、子任务遍历、指定超时时间的并发框架共享能力平台侧的微服务业务…

java接口服务编排_GOKU API Gateway CE V3.1.0 发布:新增服务编排、配置版本管理等...

Goku API Gateway (中文名&#xff1a;悟空 API 网关)是一个基于 Golang 开发的微服务网关&#xff0c;能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的&#xff0c;拥有强大的自定义插件系统可以自行扩展&#xff0c;并且提供友好的图形化配置界…

云原生服务编排技术

基于云原生的服务编排技术主要实现融合计算、存储和网络能力开放&#xff0c;通过云原生和云计算统一编排调度平台来实现底层资源的调度及上层服务编排。运用 OpenStack底层基础设施层的资源调度管理能力&#xff0c;对数据中心内的异构计算资源、存储资源和网络资源可以进行有…

Docker Compose 服务编排

微服务架构中一般会有多个微服务&#xff0c;每一个微服务一般都会部署多个实例&#xff0c;如果每一个服务都手动启动&#xff0c;工作量会很大。服务编排就是按照一定的业务规则进行批量管理容器。 docker基础请参考 Docker相关内容整理&#xff08;一&#xff09;_活水774的…

9_服务编排

是什么 微服务架构的应用系统中一般包含若干个微服务&#xff0c;每个微服务一般都会部署多个实例&#xff0c;如果每个微服务都要手动启 动停止&#xff0c;维护的工作量会很大。来看下我们日常工作&#xff1a; 要从Dockerfile build image 或者去 dockerhub 拉取 image要创…

Docker服务编排

概述 服务编排概念 微服务架构的应用系统中一般包含若干个微服务&#xff0c;每个微服务都会部署多个实例&#xff0c;如果每个微服务都要手动启停&#xff0c;维护的工作量会很大。 具体工作大概如下&#xff1a; 从Dockerfile build image或者取dockerhub拉取image。创建多…

详解微服务编排

你的组织是否使用微服务风格的体系结构来实现其业务功能&#xff1f;你使用什么方法来实现微服务的通信和编排&#xff1f;在过去的几年中&#xff0c;微服务一直是一个相当占主导地位的应用程序架构&#xff0c;通常与云平台&#xff08;例如&#xff0c;容器、K8s、FaaS&…

服务编排-前端应用和后端服务能力间关键衔接

转载自&#xff1a;https://www.toutiao.com/a6922250238791090691/?log_fromce077552cde8e_1635167920723 首先提出一个重要观点&#xff0c;即在当前微服务架构转型中&#xff0c;服务编排将成为一个大的技术发展趋势&#xff0c;其主要原因展开描述如下&#xff1a; 当前…

蚁群算法原理及Matlab实现

转自&#xff1a;https://blog.csdn.net/zuochao_2013/article/details/71872950 原 蚁群算法 2017年05月13日 20:23:13 阅读数&#xff1a;7821 蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法&#xff0c;它是由意大利学者Dorigo M等人于1991年首先提出&#xff0c;并首先…

蚁群算法讲解python

简介 蚁群算法&#xff08;Ant Clony Optimization&#xff0c; ACO&#xff09;作为一个启发式群智能算法&#xff0c;它是由一群无智能或有轻微智能的个体通过相互协作而表现出智能行为&#xff0c;从而为求解复杂问题提供了一个新的可能性。 ACO是一种仿生学算法&#xff…

蚁群算法详解(含例程)

该篇博客为课程学习的笔记&#xff0c;含一个例子可以帮助理解蚁群算法&#xff0c;主要为理论知识的总结。 蚁群算法详解 1.算法简介2.Ant System(蚂蚁系统)2.1 路径构建2.2 信息素更新 3. 改进的蚁群算法3.1 精英策略的蚂蚁系统(Elitist Ant System, EAS)3.2 基于排列的蚂蚁…

蚁群算法小结及算法实例(附Matlab代码)

目录 1、基本蚁群算法 2、基本蚁群算法的流程 3、关键参数说明 3.1 信息素启发式因子 α 3.2 期望启发因子 β 3.3 信息素蒸发系数 ρ 3.4 蚂蚁数目 m 3.5 信息素强度 Q 对算法性能的影响 3.6 最大进化代数 G 4、MATLAB仿真实例 4.1 蚁群算法求解旅行商问题&#xf…