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


4微服务架构
微服务架构MSA可以理解为一个轻量级的服务治理方案,也就是将系统的功能,通过服务的形式发布到服务器上,对服务进行组合调用,实现具体的功能,解决实际业务问题的架构风格 。

API网关和ESB的联系与区别

文章插图
 
微服务架构优点如下:
1.微服务架构使得每个服务都可以有专门开发团队来开发 。开发者可以自由选择开发技术,提供 API 服务 。当然,许多公司试图避免混乱,只提供某些技术选择 。然后,这种自由意味着开发者不需要被迫使用某项目开始时采用的过时技术,他们可以选择现在的技术 。甚至于,因为服务相对简单,即使用现在技术重写以前代码也不是很困难的事情 。
2.微服务架构模式使得每个微服务独立部署,开发者不再需要协调其它服务部署对本服务的影响 。这种改变可以加快部署速度,譬如 UI 团队可以采用 AB 测试并快速部署变化 。微服务架构模式使得持续化部署成为可能 。
3.微服务架构模式使得每个服务独立扩展 。根据每个服务的规模来部署满足需求的实例 。甚至可以使用更适合于服务资源需求的硬件 。比如可以在 EC2 Compute Optimized instances 上部署 CPU 敏感的服务,而在 EC2 memory-optimized instances 上部署内存数据库 。
微服务架构有优点当然也有不足之处,比如服务调用带来的系统复杂性,服务间的依赖关系也是难以管理的,如何构建合理的服务依赖是考验架构师能力的重要依据;最后,微服务架构的部署以及跟踪也是很难的 。总之,微服务架构有着自身的应用场景以及特点,了解哪些场景适合微服务比掌握微服务的具体技术更为重要,适当的技术用在适当的场景,才能发挥合适的价值 。
5SOA架构剖析
SOA架构:SOA架构是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发 。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足响应市场或客户需求的多样化、多变性 。
SOA架构泛化来看映射的是整体企业架构,企业架构又分为业务架构和IT架构,IT架构又分为应用架构、数据架构、技术架构 。在SOA项目中,借鉴企业架构之道,并通过SOA技术架构和应用架构将业务系统构建和整合,并纳入整体企业IT治理体系中 。SOA技术架构图如下:
API网关和ESB的联系与区别

文章插图
 
6Restful剖析
Open API即开放API,也称开放平台 。所谓的开放API是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API应用编程接口开放出去,供第三方开发者使用,这种行为就叫做开放网站的 API,也称OpenAPI 。随着这几年微服务概念的兴起,另一个名词出现在了我们面前,那就是Restful 。而现在很多第三方开放平台的API都是Restful风格的API,而作为开发人员也经常听人说起Restful,REST这个概念是在2010年提出的,是HTTP协议的一位主要设计者提出的 Representational State Transfer(表现层状态转化)思想 。REST概念的提出者认为改变应用的互动风格比改变互动协议对整体表现有更大的影响,这就称之为表现层状态转化,即REST它只是一种架构思想 。
API网关和ESB的联系与区别

文章插图
 
REST代表的就是表现层状态转化,这个表现层状态该如何转化呢,Restful本质上是基于HTTP的,以不同的HTTP动词来访问资源,再以Json对象返回结果 。我们以不同的HTTP动词来代表不同的操作类型,如:GET(请求)、POST(创建)、PUT(更新)、DELETE(删除),所以表现层的状态转化实质上靠的是HTTP动词来实现的 。
适用场景分析1网关适用场景
API网关能够支撑各个场景下开放 API 的需求,支持将API开放给合作伙伴、开发者,实现企业核心能力的货币化,建立API生态,支持将API适配多端,如:移动、互联网、物联,实现系统前后端分离;支持内部系统整合模块化、微服务化 。
  • API资产
面对用户日益膨胀而又碎片化的需求,企业需要不断探索新的商业模式,来解决客户一系列的场景化问题 。通过API网关提供标准的API服务,让其他开发者将不同API服务组合整合到自己的应用中,衍生出新的服务,促进企业建立商业生态、跨界创新 。
API网关和ESB的联系与区别


推荐阅读