我有一个只能通过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,但对解决我的并发问题没有任何影响
我究竟做错了什么?
我认为结束标记不正确:
<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>