API网关和ESB的联系与区别( 四 )


SOA是一种理念,它的主要特性是面向服务的分布式计算,服务间松散耦合,支持服务的封装,服务注册和自动发现,以服务契约方式定义服务交互方式 。但是SOA并没有定义出具体的实现方式,目前有两套SOA理念的实现方式:中心化和去中心化,这两套架构并没有优劣之分,还是要针对企业的根本诉求 。
SOA中心化的实现方式就是ESB,ESB的根本诉求是为了解决异构系统之间的连通性,通过协议转换、消息解析、消息路由把服务提供者的数据传送给服务消费者 。AEAI ESB企业服务总线不但可以解决异构系统的集成难题,随着微服务的兴起,ESB还可以开发微服务,设计微服务接口的限流、代理、转发以及安全等功能,但是ESB并不是微服务中的API网关,微服务可以理解为是ESB中重要的一部分 。
SOA去中心化实现方式的根本诉求是扩展性,实现方式就是微服务 。分布式服务框架,主要有dubbox、spring cloud,实现后端服务治理的功能 。
2ESB与API网关区别
现从ESB和API网关的使用场景、传输对象、服务契约、实现方式、交互性以及安全层次进行区别分析 。

API网关和ESB的联系与区别

文章插图
 
使用场景在2模块已经详细介绍,在此不做过多赘述,从传输对象上讲ESN传输的是XML、JSON以及消息格式,而网关是传递JSON对象格式 。ESB是将自己服务和接口契约发布到服务注册中心,一边服务使用者可以发现和访问该服务,网关则是通过文档进行约束 。
在其实现方式上二者也是有很大区别的,ESN可以通过Http、WS、MQ、Restful等方式实现,而网关是通过Http及Restful实现,较为单一 。
在功能上二者的区别如下 。
API网关和ESB的联系与区别

文章插图
 
ESB提供了服务总线的基础架构,提供系统一致性、安全性、可靠性,以及性能和扩展能力保障的基础技术手段 。ESB提供了基础的集成服务,包含了应用集成、数据集成 。提供内置的各种公用服务 。例如渠道认证服务,日志服务等公用服务 。ESB提供了服务配置管理的前台工具集合,并提供行业的服务规约标准 。ESB提供了多角度的系统实时监控与交易报表,提供用户定制的告警 。提供了多种安全机制并支持和第三方安全系统的有效集成,提供有效的安全监控机制 。
在功能上API网关有API的全生命周期的管理,包括API的创建、发布、下线和删除等生命周期管理功能 。其调试工具使用页面调试工具验证API的连通 。在限流上用于管控API的请求频率、用户的请求频率和应用的请求频率,流量控制的时间单位可以是秒、分钟、小时或天,并且允许设置特殊的应用 。在监控功能上可以监控API请求次数、API调用延迟和API错误信息 。
AEAI ESB特性应用集成平台主要作为企业信息系统的“龙骨”来集成各业务系统,一般称之为企业服务总线(Enterprise Service BUS,ESB),在数通畅联软件的产品家族中应用集成平台命名为AEAI ESB,产品特性如下:
1.AEAI ESB支持容器化部署、多租户管理、支持REST微服务服务开发、编排、注册;
2.AEAI ESB企业服务总线提供API网关运作模式下的服务治理、监控、统计以及流量控制;
3.AEAI ESB企业服务总线自带集成样例可快速上手;
4.AEAI ESB企业服务总线提供灵活的业务日志及日志配置机制;
5.产品提供丰富强大的组件堆,如:Http Rest、Soap、WebService、FTP、数据库操作、消息队列、主题收发,可以满足客户绝大多数的业务场景;
6.平台除了预置丰富典型组件完成常规对接功能,同时内置通用的数据适配、协议适配、协议接入、消息转换、消息路由等组件,可以满足各种复杂的业务集成场景;
7.平台基于设计器可以以图形化、拖拽方式方式创建服务及消息流程,设计器直接连接服务器使用一键热部署、即时断点调试;
8.对于有事务特性的信息, AEAI ESB的事务机制能够为用户提供多种粒度的事务控制;
9.对于并发量大、数据量大的需求场景,AEAI ESB的服务集群机制可以方便完成集群配置工作;
10.平台支持认证、授权主流机制和规范,确保所有用户安全地访问应用集成平台提供的服务;
11.产品通过各种机制保证ESB能适应各种复杂的外部环境 。
本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~

【API网关和ESB的联系与区别】


推荐阅读