写点什么

IBM 开源 API 微网关

2017 年 5 月 09 日

IBM 最近宣布开源他们的 API 微网关(Microgateway)。这意味着任何一个开发人员和组织现在都可以无偿在他们的项目里使用这个软件。

API 网关是处于 API 服务和消费者应用程序之间的一个软件层。这个层的作用是为 API 提供各种常见的服务,比如安全、速率限定,以及变更管理工具。IBM 的微网关采用 Node.js 开发,并采用了 Swagger 2.0 规范。这一软件的开源震惊了开发社区,因为 IBM、微软、谷歌等公司的 API 网关都不是免费的。IBM 的微网关与 IBM 的 DataPower Gateway 是不一样的,后者是另一个企业解决方案,更加侧重安全。

IBM API 微网关的主要特性是网络流量管理、方便实现安全标准(比如 OAuth),以及策略管理。它还有一个 API 设计器,提供了一个图形用户界面用于创建 YAML API 规范。它还包含了一个小型的数据存储引擎和一个健壮的工作流引擎,可以用于持久化基本的 API 数据模型,并基于 API 的消费行为创建复杂的策略。微网关为常见的场景提供了预置的策略,比如 API 秘钥验证、基本的授权和速率限定。

IBM 微网关把主要关注点集中在策略管理上。用户如果不打算使用预置的策略,可以使用“if”和“swtich”语句创建自定义的策略,这些语句是流管理的组成部分。IBM 的产品经理 Ozair Sheikn 在 IBM 博客上介绍了如何扩展这些策略,而不仅仅使用基本的条件语句,“如果你打算卷起袖子应用自己的逻辑,JavaScript 策略提供了非常大的灵活性”。预置的基本条件语句和 JavaScript 配置能力让用户可以使用网关来满足自己的业务需求,并自定义业务逻辑。

微网关的另一个关注点是 API 的定义识别和创建。内置了 Swagger 规范意味着可识别的 API 定义标准,用户可以使用底层的 Swagger 编辑器来创建基于 YAML 的规范。因为编辑 YAML 十分敏感,犹如在大风中组装一个纸牌做的房子,图形用户界面可以让这个过程不那么费时。开发人员可以借助这些工具在网关内部创建自己的 API 定义,也就有可能为消费者 API 的定义创建策略。不过,这个网关只能识别两种 API:REST 和 SOAP。使用这两种类型之外 API 的开发者得不到相关的支持。类似地,如果 Swagger 规范与现有的 API 生态系统不匹配,那么微网关就不会如预期那样健壮。不过,开源的优势在于,如果项目需要新增或改进某些功能,他们就会去寻找代码贡献者。

查看英文原文: IBM Open Sources their API Microgateway

2017 年 5 月 09 日 19:004227
用户头像

发布了 321 篇内容, 共 108.2 次阅读, 收获喜欢 101 次。

关注

评论

发布
暂无评论
发现更多内容

非结构化数据可视化 —— 现在与未来

做技术BP的文案Gou

人工智能 大数据 数据可视化 非结构化数据

五分钟学会Elasticsearch查询代理设计

奈学教育

elasticsearch ES

ERC20 Short Address Attack

程序那些事

区块链 以太坊 Token ERC20 代币

vs code中使用vetur对eslint格式化

玏佾

vscode

架构第一周-学习总结

seng man

SignalR Core之Hubs基本概念

猫定谔的靴

.net core SignalR realtime Hubs

Apache Spark有哪些局限性

古月木易

spark

可视化算法网站汇总,从此简单学算法!(附动图)

王磊

Java 算法

【写作群星榜】6.5~6.11写作平台优秀作者&文章排名

InfoQ写作平台官方

写作平台 排行榜

读笔 | 既然拖延症难以根治,不妨暂且享受它

张鸱鸺

读书笔记 时间管理 随笔杂谈

终于有一个 Java 可以用的微信机器人了

犀利豆

Java

架构师训练营第二周

Melo

2020年6月11日 高性能MySQL

瑞克与莫迪

<<架构师训练营>>第一周作业

0x12FD16B

极客大学架构师训练营

从微服务到Service Mesh

博文视点Broadview

架构 微服务 Service Mesh istio 架构师

极客大学架构师训练营 听课总结 - 架构视图,设计文档 -- 第二课

John(易筋)

极客时间 极客大学 架构设计 极客大学架构师训练营 架构文档

徒手撸框架--实现Aop

犀利豆

Java spring

编程的未来 Java, C, Go, Swift, Dart? Uncle Bob Martin - The Future of Programming

John(易筋)

Java 敏捷开发 编程的未来 编程简史 Bob大叔

作业 - 1 & 2

Happy-Coming

Homework

架构师训练营第一次课程感想小记1

tuuezzy

软件工程 求职 架构师 UML

浅谈互联网思维和区块链思维

CECBC区块链专委会

区块链思维

徒手撸框架--实现IoC

犀利豆

Java spring

作业一:食堂就餐卡系统设计

seng man

极客大学架构师训练营

回忆杀:我的编程能力是如何突飞猛进起来的

程序员小跃

Java android 编程 面向对象思想

五分钟学会Elasticsearch查询代理设计

古月木易

Apache Spark有哪些局限性

奈学教育

Apache Spark

Solidity的Bytecode和Opcode简介

程序那些事

区块链 智能合约 以太坊 Ethereum eth

读懂才会用:Redis ZSet 的几种使用场景

小眼睛聊技术

Java redis 学习 架构 后端

数据同步,应该如何设计

迹_Jason

搭建websocket消息推送服务,必须要考虑的几个问题

GoEasy消息推送

websocket 消息推送 即时通讯

面向对象五大基本原则

彭阿三

面向对象设计 面向对象五个基本原则 基本原则

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

IBM开源API微网关-InfoQ