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的幾種主要方式,在此做一個歸納總結,希望對大家所有幫助。