从软件行业诞生之日起,技术和业务总是相辅相成。业务的创新促进着软件架构从最早期的单体架构、分布式架构,转变到了如今火热的微服务架构,以及云时代下诞生的Serverless架构。API网关作为单体应用和微服务架构中流量的入口和API的管理者,对于Serverless架构来说依然扮演着重要的角色。

什么是Serverless

Serverless架构即“无服务器”架构,是云计算时代一种全新的革命性的架构模式。其核心思想是用户无须关注支撑应用服务运行的底层服务器的状态、资源(如CPU、内存、磁盘及网络)和数量,软件应用正常运行所需要的计算资源由底层的云计算平台动态提供。例如AWS的Lambda,其作为一种计算服务,可根据时间运行用户的代码,无需关心底层的计算资源。Serverless的出现为企业带来了巨大的商业价值:

  • 降低成本:为了应对可能出现的业务高峰,我们必须提前购买更多的资源,比如网络、硬盘、CPU等,但是这些资源很多时候会被闲置,无法得到充分利用。而在Serverless架构下,服务按照云计算pay-as-you-go原则按需收费,节省了使用成本。
  • 简化运维:Serverless架构使软件服务和服务器之间实现了解耦,开发人员只需专注自身业务,无需关心底层硬件,大大简化了运维工作。
  • 快速开发:在Serverless架构下的应用功能由一个一个的无状态函数实现,因此降低了功能模块之间的耦合度,从而大大提高了软件开发效率,缩短了产品的上市时间。
  • 快速迭代:通过Serverless架构,企业可以快速开发出各种应用原型供用户使用,进行低成本试错,从而增强企业创新能力。

为什么Serverless需要API网关

Serverless架构提供的能力大多数时候都是通过API的形式表现出来。对于服务提供者,需要在定义API时绑定自己开发的函数;对于服务调用者,通过API发起对函数的调用,获得执行结果。

而在开发过程中服务提供者该如何对数量庞大的API进行管理,如何将这些API高效、安全的开放给服务调用者呢?答案是——API网关。下图是API网关作为API调用的入口,最终触发函数的调用过程。API网关通过日志服务、云监控、调用链等功能很好的保证了函数调用的可追踪性。


在帮助您的企业实现Serverless架构过程中,京东云API网关能为您提供丰富的产品功能:

1、API管理

API网关提供了API生命周期管理的功能,包括API创建、发布、编辑、删除等,当API发布之后,用户(服务提供者)还可以调试自己的API。对于函数服务,只需要在编辑API时,把服务的后端指向Function Service即可,下图展示的是在京东云API网关控制台如何指定Function后端的过程。

同时,在Function控制台就可以开发函数,并进行调试。下图是函数编辑的界面。

2、保证API调用的安全性

API网关的身份认证机制保证了用户合法性,签名算法保证了数据不会被篡改,访问授权保证了用户的调用是可控的,WAF、IP白名单等功能有效防止了恶意的访问。

3、协助排查问题,记录函数服务的调用情况

创建完函数服务后,每个对API的调用请求经过API网关,网关都会产生对应的日志,您可以从日志中查询到当前调用了什么函数以及函数执行的时间,从而为问题排查提供了有效依据。

4、提供SDK和文档

API创建完成后,用户只需要下载SDK及文档,便可以快速调用API。

通过API中心帮助API提供者获利

京东云API中心是实现API商品化的媒介平台,您可以通过京东云API网关将API发布到的API中心供其他用户购买使用,使用者根据调用次数或者流量支付费用,从而帮助您完成API的商品化和变现过程。

触手可及的Serverless

京东云API网关和函数服务的结合使用,将能够使您的企业和业务与Serverless再近一步,变得触手可及。而未来,京东云API网关还将提供基于微信小程序、京东小程序的鉴权方式,同时对外开放API中心,促进API商品化,为您在企业Serverless的进程中提供尽心尽力的服务,帮助您的企业和业务更好的利用云计算的浪潮提高效率,实现价值!

点击【阅读】,了解更多API相关信息

欢迎点击“京东云”了解更多精彩内容

API网关,让您和Serverless再近一步的更多相关文章

  1. API 网关的选型和持续集成

    2019 年 8 月 31 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,APISIX 作者温铭在活动上做了< API 网关的选 ...

  2. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...

  3. 如何架构一个合适的企业API网关

    API Gateway(API GW / API 网关),顾名思义,是出现在系统边界上的一个面向API的.串行集中式的强管控服务,这里的边界是企业IT系统的边界,主要起到隔离外部访问与内部系统的作用. ...

  4. 为什么需要API网关?

    目录 0:00 微服务与网关(Microservices & API Gateways) 大家好,我叫Macro,今天我们谈论有关微服务和网关的话题.我是Mashape的CTO,也同时是开源网 ...

  5. 一个简单可参考的API网关架构设计

    网关一词较早出现在网络设备里面,比如两个相互独立的局域网段之间通过路由器或者桥接设备进行通信, 这中间的路由或者桥接设备我们称之为网关. 相应的 API 网关将各系统对外暴露的服务聚合起来,所有要调用 ...

  6. 深入浅出聊聊企业级API网关

    http://architect.dataguru.cn/article-11431-1.html API Gateway(API GW / API 网关),顾名思义,是出现在系统边界上的一个面向 A ...

  7. surging API网关

    基于.NET CORE微服务框架 -谈谈surging API网关 1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中 ...

  8. 借助腾讯云的云函数实现一个极简的API网关

    借助腾讯云的云函数实现一个极简的API网关 Intro 微信小程序的域名需要备案,但是没有大陆的服务器,而且觉得备案有些繁琐,起初做的小程序都有点想要放弃了,后来了解到腾讯云的云函数,于是利用腾讯云的 ...

  9. API网关在API安全性中的作用

    从单一应用程序切换到微服务时,客户端的行为不能与客户端具有该应用程序的一个入口点的行为相同.简单来说就是微服务上的某一部分功能与单独实现该应用程序时存在不同. 目前在使用微服务时,客户端必须处理微服务 ...

随机推荐

  1. Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3

    前端导入静态页面的时候有一个报错,主要问题是冲突了 Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or hi ...

  2. python-python基础2

    本章内容: 1.列表.元组 2.字典 3.集合 4.文件操作 5.字符编码与转码 一.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 names= ...

  3. jmeter抓取cnode网站token值

    前置条件:已经登录 1.线程组下面先添加HTTP信息头管理器 1.1 jmeter向服务器发送http请求时,需要验证 cookie的等设置信息给到服务器去识别,因此,在发送请求前,我们一般会把相关需 ...

  4. maven知识结构笔记

    1.什么是maven Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Mav ...

  5. 数据结构——java Queue类

    定义 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作. LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用 图例 Que ...

  6. [题解] LuoguP4091 [HEOI2016/TJOI2016]求和

    传送门 首先我们来看一下怎么求\(S(m,n)\). 注意到第二类斯特林数的组合意义就是将\(m\)个不同的物品放到\(n\)个没有区别的盒子里,不允许有空盒子的方案数. 那么将\(m\)个不同的物品 ...

  7. Java 布尔运算

    章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...

  8. Docker-harbor-V1.3.0 ”私有仓库“搭建 Easy

    准备: centos     7.0 Docker version 1.12.6    docker-compose version 1.19.0   1: updata-yum:   更新yum 源 ...

  9. python_os 的知识点

    1. os.getcwd() #获得当前路径 2. os.listdir(path) #列出path路径下的所有目录名和文件名包括后缀 3. os.mkdir(path) #在path创建一个目录 4 ...

  10. 《ES6标准入门》(阮一峰)--6.正则的扩展

    1.RegExp 构造函数 在 ES5 中,RegExp构造函数的参数有两种情况. 第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag). var regex = new Re ...