ubuntu如何杀进程_如何快速搭建一个API平台 api-umbrella

eed582229ebc0914bdf18eae485d1f6c.png

目标:如何把自己做的REST API给更多的开发者使用?

1. 可以统计调用次数,便于计费

2. 可以限制调用频率,便于控制负载压力

对比了几个Open API Platfrom,最后选了api-umbrella

我在ubuntu上安装比较简单

$ sudo apt-key adv --keyserver hkp:// http:// keyserver.ubuntu.com:80 --recv-keys 367404D553B42995
$ echo "deb http:// dl.bintray.com/nrel/api -umbrella-ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/api-umbrella.list
$ sudo apt-get update
$ sudo apt-get install api-umbrella
sudo /etc/init.d/api-umbrella start 启动

api-umbrella default使用90端口,虽然我看了说明可以换端口,但是考虑这个平台以后就是我所有API的入口,80端口就给它了。下面我按照如下步骤进行评估

一,综合简述 api umbrella

  • api-umbrella用lua配置Nginx,来实现API 网关,这个Spring Gateway也差不多
  • api-umbrella用ElasticSearch存储 统计信息,我监控了一下进程发现那个java进程

10015ab87597a51f8b13ac31ca7c37ae.png
  • api-umbrella基本提供两个视角。
    • 一个是管理员,设定API映射
    • 一个是普通用户,注册系统账号获得API KEY,并使用API KEY调用API

二,按照两个视角试用

admin视角

1. 首先作为平台管理员添加一个REST API。这里我提供了一个youtube的API。

1.1 访问http://192.168.2.22/admin ip就是你安装机器的地址,初次登录会设定admin 账号

1.2 配置API BackEnd 添加一个 API

a9b1d059e9bcb3ff640ed83de4a04010.png

1.3 主要是设定url 映射,已经rate limit,是限定访问次数

b8840081e11db2a6f1e5406eadf646c9.png

1.3 设定完API映射后,一定要publish API,否则不生效

211eca6ad7a5d1d23331399cc255de35.png

User视角

2. 注册一个API User,就是API的消费者,也就是未来客户。访问http://192.168.2.22/ 即可。我因为修改api - umbrella的代码,所以变成了中文界面

1c5b60c16194a97093399606befc32ec.png

2.1 一定要让用户保留好API Key,请求的时候必须带着API KEY。这是用户注册后,能看到API KEY。请求的时候要带上。作为admin 在后台能看到所有用户的API_KEY

b19a1cf9d17d8be09d55a0761bcbdb4b.png

三, API 调用使用

测试一下,从http://192.168.2.22 请求被转发到http://192.168.2.18,并进行调用统计

curl https:// 192.168.2.22/video/yout ube/detail?id=ph5e694f14d6b1c&domain=youtube&api_key=xc85Xr3GmrTSfGzDBXTmYGrfACXszr8dPD36fPjG
结果返回正常。这里最重要的就是api_key,由于我开始配置时要求用户使用必须携带api_key

利用admin,看看统计结果页面,我选择了by user,看看我的客户用的如何,选择注册的用户邮件箱。我有两个客户开始使用

933fe05cc8736da926f350f8d7f2a32c.png


综合的说,可以用,先用用看。快速发布API是重要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值