从软件行业诞生之日起,技术和业务总是相辅相成。业务的创新促进着软件架构从最早期的单体架构、分布式架构,转变到了如今火热的微服务架构,以及云时代下诞生的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. CSS -- 盒子模型 margin 的特点

    margin在使用过程中具有如下的两个特点: 1.垂直外边距塌陷 --给子元素设置margin-top的时候,如果父元素也随着margin-top改变位置 解决方式: 给父元素设置边框 给父元素设置o ...

  2. Eclipse创建一个普通maven项目详细步骤

    首先找到Eclipse最顶部左边的File,new一个 Maven Project项目 下一步,勾选第二个即可 下一步,选择  maven-archetype-webapp Group Id 写域名倒 ...

  3. uni-app小程序组建

    (1)新建组建:编辑器右击 新建组建 (2)传值 <template> <view class="myRankingList"> <block v-f ...

  4. office2019激活办法

    @echo off (cd /d "%~dp0")&&(NET FILE||(powershell start-process -FilePath '%0' -ve ...

  5. 关于AlertDialog多选框中全选和反选的实现办法

    package mobile.android.ch07.multi.choice.dialog; import android.app.Activity; import android.app.Ale ...

  6. 整理jvm概念和原理详解以及gc机制

    注:源代码就是.java文件,JVM字节码就是.class文件 1. Java 堆(Java Heap):(1)是Java虚拟机所管理的内存中最大的一块.(2)在虚拟机启动的时候创建.堆是jvm所有线 ...

  7. spark sortShuffleWriter源码学习

    查看的源码为spark2.3 调用ShuffleMapTask的runTask方法 org.apache.spark.scheduler.ShuffleMapTask#runTask ShuffleM ...

  8. mysql concat与concat_ws区别

    select concat('大','小') as size from 表 查询出结果为:大小 select concat('大',NULL) as size from 表 查询出结果为:null c ...

  9. Redis数据类型及其操作

    redis数据类型即操作 1. 字符串 set 设置字符串 格式: set key value 例子: set name kainhuck get 获取字符串的值 格式: get key 例子: ge ...

  10. HDU - 6201 transaction transaction transaction(spfa求最长路)

    题意:有n个点,n-1条边的无向图,已知每个点书的售价,以及在边上行走的路费,问任选两个点作为起点和终点,能获得的最大利益是多少. 分析: 1.从某个结点出发,首先需要在该结点a花费price[a]买 ...