API是对APP的包装,也就是通常所说的接口,APP和APP间的互相调用,包括读取数据,修改数据等,就通过调用API来实现,API的好处显而易见,标准化,service化,外部用户看不到里面的复杂的东西。一个成熟的产品必须要有API来给其他应用提供接口。

学习调用API是dev ops的必备技能,大家最熟悉的应该是REST API的调用吧,没错这是现在很通用很流行的一种API调用方式,还有一些其他的调用方式,这里给大家一一介绍。


REST API

REST API是web service api的一种,其他的还有SOAP,XML-RPC, JSON-RPC。 SOAP使用的是WSDL语言,大家在一些PHP代码中偶尔可以看到,现在使用的不多了,因为它的安全性不是很好。

大家可以在我的另外一篇博文中详细了解这种API调用的案例

http://haohaozhang.blog.51cto.com/9176600/1668761


Library-Based API

通过调用库的方式来调用API,这种方式也非常常用,比如你监控系统用的kafka,在client端会有个kafka client library ,你写的脚本用来抓取客户端的metrics,然后调用kafka client library来吧metrics吐给kafka。详细案例大家可以看我的另一篇博文

http://haohaozhang.blog.51cto.com/9176600/1792973


OS API / HARDWARE API

大家在操作系统上操作的时候,比如各种系统命令,其实也在调用OS的API,只是被忽略了而已,还有硬件层面的操作,也都是调用API。


以上是调用API的几种主要方式,在此做一个归纳总结,希望对大家所有帮助。