全部產品
Search
文件中心

:使用輕量訊息佇列(原 MNS)中HttpEndpoint介面鑒權時如何提高鑒權效能

更新時間:Sep 03, 2024

概述

使用輕量訊息佇列(原 MNS)中的HttpEndpoint介面鑒權時,遠程請求密鑰憑證比較耗時,本文主要介紹提高鑒權效能的方法。

問題原因

輕量訊息佇列(原 MNS)的每個推送請求中都會攜帶密鑰憑證地址,可根據密鑰憑證地址,通過索引值對(Key-Value)的方式緩衝認證。之後只要認證沒有更新,就可以從記憶體中直接擷取認證,減少每次遠程請求的耗時。如果認證更換,認證名和地址可能會隨之更新。

解決方案

在處理推送請求時,根據x-mns-signing-cert-url參數中的地址從緩衝中直接擷取認證。如果擷取失敗,則通過遠端存取認證並儲存到緩衝,以便下次使用,可參考如下樣本。

例如,密鑰憑證地址為:https://mnstest.oss-cn-hangzhou.aliyuncs.com/x509_public_certificate.pem,可使用如下方式緩衝密鑰憑證。

typedef map<string, string> cache;
cache["x509_public_certificate.pem"] = "$content";
cache["x509_public_certificate.pem.version2"] = "$content2";