内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

网站建设_如何进行企业网站的优化_优惠

2021-07-13 02:17 出处:欧普曼云计算 人气: 评论(0

由于我们的Cloud Foundry环境中的一些应用程序/服务会一次又一次地命中相同请求的相同端点,我想知道我在SCP上有哪些机会缓存请求和响应。

我们的云环境几乎完全在Cloud Foundry上运行。类似业务规则的服务正在html5容器旁边运行,这些容器需要安装并运行UI5前端应用程序。很容易将服务和应用程序彼此绑定,免费vps服务器,也很容易使用目的地,从规则集执行中获取结果。但是,由于我们已经准备好了API管理,所以我们正在通过APIM路由环境内外的所有访问请求。这给我们提供了很多机会,其中一个我现在想给你们看:缓存东西!

说实话。这并不是什么新鲜事,也是一个常见的功能——但有了APIM解决方案,几分钟内就能完成。

这里已经介绍了一些类似于2018年的内容,但只涉及元数据。向Divya Mary喊话-谢谢分享!

您需要有一个正在运行的APIM实例。在这里使用试用SCP获取一个。我将使用一个业务规则实例和这个实例的服务密钥。在这里可以找到关于这个很酷的服务(某种下一代BRF+)的博客。您也可以使用任何其他端点进行测试。

在您的APIM上创建一个新的API并提供一个端点。如前所述,我将在businessrules服务(在scpcloudfoundry上运行)上执行一个规则集。因此,我需要向端点发布一个json(有效负载)。在我的示例中,这个负载包含对应规则集和词汇表的ID。在词汇表中,业务规则服务将使用决策表查找并检索回响应。

注意:执行API受oAuth V2保护。因此,我们需要先请求一个令牌。

我们开始将策略"响应缓存"添加到预流:

通过XML树,我们现在可以控制很多事情。在我的用例中,物联网关键技术,我将提供一个有效负载来接收业务规则响应。这意味着响应是基于有效载荷的。在其他情况下,您可能会考虑使用查询参数或头来建立缓存键。有效载荷保存在"请求.内容,这是作为KeyFragment提供的。除此之外,返利平台有哪些,我想重置缓存每天上午12点,我想有机会绕过缓存。所有这些都是在这个XML配置中完成的:

"ResponseCache"策略将自动为您完成其余的工作。您只需要将相同的策略添加到PostFlow的响应流中。使用左边"已创建策略"区域的"+"按钮:

现在就这些。让我们保持简单。

如果我们现在要使用API:

这需要218ms!

再打一次!

现在我们有32毫秒的时间来接收我们的回复。这起作用了!您也会看到,如果您要更改负载并在另一个boCompCode内搜索,好评返现,时间将提高回200ms左右。

如果您想绕过缓存,请使用提供的头机会。添加"bypass cache":"true"并继续。你会看到ms上升!

现在还可以,实际上我们可以在这里结束博客文章。但还有更多!

由于业务规则服务受oAuth V2保护,我们需要使用我们的凭证请求承载令牌。这项工作可以从APIM提供程序后面的目的地完成。

但是我们也可以通过策略中的"服务调用"策略来完成:

此策略将使用基本凭据命中oAuth令牌生成器,前提是固定为标头(不要判断我,它的博客文章)并收到一个变量称为"tokenResp"的回应。现在我们可以将变量中的响应转换为请求.标题.授权变量。我们可以在APIM上使用"访问实体"或"分配消息"策略。因为我是一个开发者,什么是大数据技术,所以我用一些javascript行来做这件事:

The"令牌响应内容"包含类似这样的内容,从oAuth令牌生成器返回:

在承载令牌("access\u token")旁边,我提取了"expires\u in"值并保存了它(延迟10秒,我立即减少)。这将帮助我们稍后销毁缓存的oAuth令牌…

使用变量中保存的"承载令牌"和"秒后过期"值,我们现在可以向预流添加一个新策略:"填充缓存":

此策略将保存我们的令牌,已在中提供请求.标题.授权在引用了keyFragment"scpCFbusiRuleToken"的APIM缓存上。"expires\u in"用于确定值的有效期和过期时间。

现在我们只需要从缓存中检索令牌,然后再执行"请求新令牌"策略。这是通过将策略"Lookup Cache"添加到您的预流策略来完成的:

您的预流策略应该类似于这样:

cacheResponse(Response Cache)=>getBearerTokenFromCache(Lookup Cache)=>getBearerToken(Callout service)=>transformToken(javascript)=>saveBearerToken(Populate Cache)

在您要保存&部署API时,需要为3个策略添加一个条件。为什么?

因为如果缓存中还保存了一个有效的令牌,则不需要进行服务调用、转换令牌并覆盖它。将此条件添加到最后3个策略中,如果cachehit成功,谁将阻止激活:

注意:将"getBearerTokenFromCache"替换为"Lookup Cache"-策略的名称!

保存和部署时间。

您现在会注意到,即使您正在更改有效负载,秒数也不会像第一次呼叫时那么高。这意味着您的策略正在工作,并且确实保存了oAuth令牌以及有效负载和响应。干得好!

还可以看看API的调试器。您将能够看到响应的用法,以及我们是否在缓存中找到了某些内容。第二个箭头显示:他使用了缓存,但没有命中(真实的)端点:

分享给小伙伴们:
本文标签: 网站建设如何进行企业网站的优化优惠

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表