人文艺术 > 微服务架构为何需要搭配API网关?

微服务架构为何需要搭配API网关?

2020-08-25 16:22阅读(90)

微服务架构为何需要搭配API网关?:微服务架构可以理解为一种架构风格,将一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微

1

微服务架构可以理解为一种架构风格,将一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。而API网关则是负责提供一套单一且统一的API入口点,其跨越一个或者多个内部API。其通常亦设定了层速率限制与安全性机制。

两者搭配有如下几点优势:

第一:可以隔离内部与外部的联系,保证内部服务和数据信息的安全,外部无法直接访问到内部数据和服务,隔绝了对内部服务和数据的窥探;
第二:API网关可以提供一层有利的保护罩,保证内部服务和数据不会受到攻击;
第三:API可以支持多种协议的适配,可以更好的协调微服务的协议形式,使内部的服务之间不必拘泥于一种协议的开发,提高了服务开发的灵活性;
第四:API网关可以进行协议适配、安全验证等,降低了对微服务开发对外部的适配,使之可以更贴近实际核心业务的开发。

数通畅联专注于企业IT架构、SOA综合集成、数据治理分析领域,感谢您的阅读与关注。

2

RestCloud配置中心

RestCloud配置中心是由谷云科技完全自主研发的配置中心产品,RestCloud配置中心的定位是面向大中型企业分布式部署架构时的配置中心解决方案,全Web化配置,简单易用,无侵入性,无需修改SpringBoot的注解和任何代码,平台自动接管配置。RestCloud配置中心除了承担RestCloud整个架构中的配置中心外,还能优化SpringCloud的配置解决方案,其功能和易用性完全超越SpringCloud的配置中心解决方案。

RestCloud 网站链接:http://www.restcloud.cn/restcloud/mycms/index.html

原文链接:https://blog.csdn.net/kezi/article/details/81276727

RestCloud配置中心的优势

  • 全Web化配置
  • 多环境支持(UAT、SIT、DEV等可以自定义环境)
  • 单条配置具有完整的版本管理和变更历史记录
  • 支持配置的灰度发布策略(IP级别的灰度发布和应用级别的灰度发布策略)
  • 支持实时推送配置和定时更新配置两种更新方式
  • 配置中心根据环境和应用ID来管理和发布配置
  • 支持文本和Web可视化编辑两个方式修改配置
  • 提供Java客户端配置缓存和持久化技术
  • 在没有配置中心时不影响单机开发(无需任何配置),链接配置中心后由配置中心自动接管
  • 支持配置快照技术,可以一键回滚至配置快照点
  • 支持公共配置(所有应用和环境可公共使用的配置数据)
  • 配置中心采用Rest API接口与客户端进行通信,非Java语言的应用通过Rest接口也可以接入配置中心
  • 支持配置值加密技术,适用于数据库密码帐号等敏感配置数据

原文链接:https://blog.csdn.net/kezi/article/details/81276727

API网关为微服务带来的助益

避免将内部信息泄露给外部客户

API网关能够将外部公共API与内部微服务API加以区分,使得各项微服务进行添加与边界变更。如此一来,微服务架构就能随时间推移而始终通过重组保护正确大小,且不会对外部绑定客户造成影响。另外,其还能够为全部微服务提供单一入口点,从而避免外部客户进行服务发现及版本控制信息查看。

为微服务添加额外的安全层

API网关能够提供一套额外的保护层,足以应对SQL注入、XML解析攻击以及拒绝服务(简称DoS)攻击等常见威胁因素,从而实现额外的保护层效果。

可支持混合通信协议

由于面向外部的API通常会提供一个基于HTTP或者REST的API,因此内部微服务往往可借此使用多种不同通信协议。此类协议包括ProtoBuf、AMQP或者其它集成有SOAP、JSON-RPC或者XML-RPC的系统。API网关可跨越这些协议提供一个外部统一的基于REST API,允许各团队以此为基础选择最适合内部架构的协议方案。

降低微服务复杂性

微服务拥有多项常规重点,例如利用API令牌进行验证、访问控制以及速率限制等。每一项都会给相关实现服务带来影响,进而延长微服务的开发时间。API网关能够从代码层面移除这些重点,使得大家的微服务能够专注于更为实际的核心任务。

微服务模拟与虚拟化

通过将微服务API与外部API加以区分,大家可以模拟或者虚拟化自己的服务,从而满足设计要求或者配合集成测试。

原文链接:https://blog.csdn.net/belalds/article/details/81772663

3

微服务架构系统灵活性,健壮性,扩展性好,特别适合需求变化迅速的场景。但系统复杂度高,部署,管理难度大。微服务除了开发期框架之外,还有需要一系列的运行期中间件支撑,如API网关,服务注册中心,统一配置中心等。 目前国内比较成熟的吧,东软有一支团队在做,他们网站是 https://platform.neusoft.com/