你的收入水準很大程度上取決于你能做哪些别人不能做的事情。

一、API網關包括的基本功能:統一接入、協定适配、流量管控與容錯以及安全防護。
二、API的常用工具:RAML、Swagger
三、API的生命周期:Design(設計)、Build(建構)、Test(測試)、Document(文檔)、Share(釋出)、run(運作)、DownLine(下線)。
四、網關系統的七種武器:降級、限流、熔斷、配置熱更新、異步、線程池隔離、管道技術
五、導緻傳統網關性能的瓶頸:
1、CPU
CPU使用率:顯示的是程式在運作期間實時占用的CPU百分比
CPU負載:顯示一段時間内正在使用和等待使用CPU的平均任務數,可以使用uptime或top指令來檢視系統的負載情況,eg:uptime指令,顯示load averages:1.74 1.58 1.60 ,三個數字分别表示1分鐘、5分鐘、15分鐘内系統的負載平均值。
注意:CPU負載高并不意味CPU的使用率高,兩者沒有聯系,可以比作負載是排隊,使用率是醫生看病,不能說排隊長,醫生看病的速度就快。
2、記憶體
緩沖、緩存及記憶體計算,記憶體越大計算速度就越快,使用free、top、vmstat等指令都能顯示系統記憶體使用率的輸出
3、磁盤
磁盤使用率:磁盤空間使用情況
磁盤負載百分比:磁盤頻繁執行I/O請求數量,使用iostat -x 1 10 指令,顯示%util接近100%說明産生的I/O請求太多,I/O已經滿負荷,該磁盤可能存在瓶頸。
4、網絡
網絡的品質好壞,直接影響使用者的響應時間,如果網絡變慢,請求數量過大就會導緻請求任務數排隊擠壓,将所有CPU資源耗盡。
六、其它提升性能方式
1、脫庫與多級緩存
對網關的通路不建議直接使用傳統資料庫(eg:mysql),而是建議利用緩存。
緩存分級,1級緩存(JVM緩存)、2級緩存(Redis)、3級緩存(Redis持久化)
2、熱更新
不需要重新開機伺服器就能夠讓程式的屬性值進行改變的行為;
常見的熱更新的方法有MQ方式、RPC方式和ZooKeeper方式,MQ方式是将需要更新的資料發送到MQ隊列,消費端收到資料後更新對象的屬性值,RPC方式的直接連接配接到對應的伺服器,服務端收到RPC請求之後更新資料,Zookeeper的方式是接收更新進而觸發本地對象資料,這些方式都不需要重新開機伺服器。