Мы находимся в процессе создания нового проекта. Наши требования заключаются в том, чтобы вызывать несколько API остальных, объединять ответ и отправлять его обратно мобильному клиенту.
Мы исследуем эти 2 варианта для нашего уровня опыта (интеграция) 1. Logi c Apps 2. Azure Функция
Мы наблюдали одно существенное различие в производительности между этими двумя.
Мы проводим простой сценарий использования для сравнения производительности.
Мы просто вызываем оставшийся API для получения метрик с различными доступными опциями
- Просто интегрируйте с APIM в качестве фоновой службы
- Использование Azure Функция
- Использование Logi c Приложения
Ниже приведены показатели
Logi c Приложение занимает больше времени для выполнения по сравнению с другими параметрами. Ниже приведено простое приложение logi c для вызова rest api
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"GetReferenceData": {
"inputs": {
"headers": {
"Authorization": "@variables('AuthToken')"
},
"method": "GET",
"uri": "url"
},
"runAfter": {
"Initialize_AuthToken": [
"Succeeded"
]
},
"type": "Http"
},
"Initialize_AuthToken": {
"inputs": {
"variables": [
{
"name": "AuthToken",
"type": "string",
"value": "@{triggerOutputs()['headers']?['Access-Token']}"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
},
"Response": {
"inputs": {
"body": "@body('GetReferenceData')",
"statusCode": "@outputs('GetReferenceData')['statusCode']"
},
"kind": "Http",
"runAfter": {
"GetReferenceData": [
"Succeeded"
]
},
"type": "Response"
},
"Response_2": {
"inputs": {
"body": "@body('GetReferenceData')",
"statusCode": "@outputs('GetReferenceData')['statusCode']"
},
"kind": "Http",
"runAfter": {
"GetReferenceData": [
"Failed",
"Skipped",
"TimedOut"
]
},
"type": "Response"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"storageLocation": {
"defaultValue": [],
"type": "Array"
}
},
"triggers": {
"manual": {
"inputs": {
"method": "GET",
"relativePath": "/referenceData",
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
},
"parameters": {}
}
У нас очень много случаев, когда нам нужно вызывать несколько API-интерфейсов rest и агрегировать результат. Учитывая вышеприведенные цифры, кажется, что Function App работает намного лучше, чем Function App. Для параллельных операций я могу полагаться на долговременные функции через приложения Logi c.
Так что я просто хочу понять , почему Приложение logi c занимает больше времени почти в два раза по сравнению с функцией для аналогичной операции?
Разве приложение logi c не предназначено для этих операций?