在Azure API Management中设置并发限制

问题描述 投票:0回答:1

我有一个只能通过API管理访问的API。当API被同时调用100次以上时,Api开始失败。我看到了这份文件,解释了需要做什么。

https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies

我插入了文档中指定的以下策略(在API管理中的产品级别)

<policies>
  <inbound>…</inbound>
  <backend>
    <limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
    <limit-concurrency/>
  </backend>
  <outbound>…</outbound>
</policies>

但是在试图保存时,我遇到了错误

One or more fields contain incorrect values:
The 'limit-concurrency' start tag on line 43 position 14 does not match the end tag of 'backend'. Line 46, position 7.

然后我将政策改为

   <policies>
      <inbound>…</inbound>
      <backend>
        <limit-concurrency key="someConstantId" max-count="3"/>
      </backend>
      <outbound>…</outbound>
    </policies>

它保存了Ok,但对解决我的并发问题没有任何影响

我究竟做错了什么?

azure api concurrency policy azure-api-management
1个回答
2
投票

我认为结束标记不正确:

<limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
<limit-concurrency/>

我猜它应该是:

<limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
</limit-concurrency>
© www.soinside.com 2019 - 2024. All rights reserved.