[發明專利]一種API網關緩存響應數據的實現方法及系統在審
| 申請號: | 202210251543.5 | 申請日: | 2022-03-15 |
| 公開(公告)號: | CN114785637A | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 張積磊;栗凱;朱璐;玄德 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | H04L12/66 | 分類號: | H04L12/66;H04L67/568 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜鵬 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 api 網關 緩存 響應 數據 實現 方法 系統 | ||
本發明提供了一種API網關緩存響應數據的實現方法,包括以下步驟:選擇使用模板進行緩存插件的配置,選擇某個API去綁定某個緩存插件,Kong讀取該API的Kong配置文件,應數據按設計好的格式存儲到Redis中,根據API信息去Redis緩存中取出對應的緩存的響應數據,返回給客戶端。本發明提出的API網關緩存響應數據的實現方法及系統,通過簡單的緩存插件配置并與API進行綁定后,使客戶端在發起API請求后,能夠將返回的響應數據緩存到API網關的服務層面;當客戶端下次再進行同樣的請求時,直接返回網關中已經緩存的對應數據,以此來降低后端負荷,同時增加API請求的平滑度。
技術領域
本發明涉及網關技術領域,具體為一種API網關緩存響應數據的實現方法及系統。
背景技術
網關又稱網間連接器、協議轉換器;網關在網絡層以上實現網絡互連,是復雜的網絡互連設備,僅用于兩個高層協議不同的網絡互連。
目前市面上的大部分API網關開源框架都只具備一些諸如流量控制,API鑒權,路由轉發這些的基本功能。
但是,對于像API數據緩存這類較新的功能需求,網關卻沒有對應的實現方案或實現思路,即便個別網關具有類似的功能,使用起來也十分繁瑣,難以適應實際的生產需要。
發明內容
本發明的目的在于提供一種API網關緩存響應數據的實現方法及系統,以解決上述背景技術中提出的問題。
為實現上述目的,本發明提供如下技術方案:一種API網關緩存響應數據的實現方法及系統,包括以下步驟:
選擇使用模板進行緩存插件的配置,格式選擇yaml或者json等可以說明字段意義的方式即可,用戶通過設置模板中的各項參數來進行插件配置;
當用戶選擇某個API去綁定某個緩存插件時,需要生成該綁定關系的唯一性Id,使用該Id和后端數據庫存儲的插件配置信息以及待綁定的API的各項參數信息去生成Kong插件的標準配置并保存,以此來讓Kong讀取,識別緩存插件的內容;
API調用模塊,當用戶調用API時,Kong讀取該API的Kong配置文件,根據文件中是否存在緩存插件的配置來確定是否綁定緩存插件;
緩存插件執行模塊判斷API是否是第一次發起請求,如果是第一次請求,請求后成功HttpStatusCode400的響應數據按設計好的格式存儲到Redis中,然后將響應數據返回給客戶端;調用綁定了緩存插件的API時,響應數據中需要在Header中額外添加一個字段,通過該字段來告知客戶端本次的響應數據是否使用了API緩存;由于綁定了緩存插件不代表一定進行了緩存數據的使用,當未使用允許緩存的后端Header,或是因為緩存超時而沒有在Redis查詢到緩存數據時,同樣需要請求實際的后端;通過在響應信息中添加緩存是否使用的說明字段的方式,來保證用戶在調用API時能夠明確的知道是否使用到了API緩存;對于Redis緩存,需要設置其存儲格式,保證API調用時,能夠取出與所調用API相對應的正確的緩存信息,使用hash存儲;
如果API不是第一次發起請求,則判斷API是否攜帶配置文件中設置的Header信息,如果沒有攜帶設置的信息,則進行正常的路由請求;若API不是第一次發起請求,也攜帶了設置好的Header信息,將根據API信息去Redis緩存中取出對應的緩存的響應數據,返回給客戶端。
優選的,緩存插件創建的參數分為參數唯一性定義byParameters與緩存插件特有Header定義cacheableHeaders兩部分,當一個綁定緩存插件的API被調用時,通過前者區分網關應當從緩存數據庫中取出的數據;后者定義緩存插件需要識別的Header,此時API即使綁定了緩存插件,但沒有攜帶模板中配置的允許緩存的后端Header時,也不會啟用針對該API的數據緩存功能;通過這種方式,使API不需要頻繁的解綁插件,就可以靈活的開啟或者關閉數據緩存功能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210251543.5/2.html,轉載請聲明來源鉆瓜專利網。





