Јас разбирам вашиот опис и вашата точка. Сега ние треба да дознаете како тоа да претпоставиме да работат технички.
Едно прашање гледам тука е како ќе се признае дека ние веќе имаат ограничувања на располагање по оние каде стигна пред.
Ние можеме да едноставно секој пат прашам претпочитан давател и потоа оди кон следниот. Ова ќе чини перформанси - затоа што за секое барање на страна која бара превод, ние ќе направи неуспешен повик за претпочитан давател, а потоа во следната (така тоа може да биде неколку неуспешни повици кога vBET ќе го поддржи повеќе APIs).
Друго решение ќе биде да ја запази информацијата дека склопот на услуги не е на располагање и одат директно на следниот. Ова ќе биде многу побрзо, бидејќи проверка локална променлива е многу побрзо отколку на чекање за одговор од надворешен сервер. Овој пат имаме друг проблем - ние не знаеме кога склопот провајдер е на располагање. Ние, се разбира, направи некои закажани задача која ќе побара за едноставни (краток) превод на пример еднаш на час / ден да го проверите. Значи во оваа стратегија треба да одлучите колку често по дифолт како задача да претпоставиме да работат. Се разбира, ние ќе го провериш само кога некој провајдер е означен како не се достапни.
Исто така, ако го одбележуваме провајдери како недостапен - Што да правите кога знаеме дека сите провајдери не се достапни, - додаде некои информации за крајниот корисник или само Преведете она што е во кеш, а остатокот како оригиналот, без никакви дополнителни информации за привремен недостиг на превод на услуги .
Без разлика на кој начин тоа ќе биде направено, Google ќе бидат третирани како еден API (V1 или V2 зависно од конфигурацијата) - нема смисла да се отцепат, бидејќи Google V1 ќе бидат затворени многу наскоро.
Друга работа е да им овозможи да го конфигурирате услуги задача за секој јазичен пар одделно. Во овој момент vBET веќе им овозможува да го конфигурирате обезбедувач на преведувачки услуги за секој јазичен пар. Мислам дека можеме да го менуваат од една вредност на одвоени со запирки вредности (CSV). На овој начин ние ќе знаеме за секој јазичен пар кои услуги поддршка на овој превод и она што се цел параметри (само со цел на CSV листа).
ЗАБЕЛЕШКА: Ова ќе има некои перформанси влијание во секој случај. Наместо за создавање на еден објект за превод ќе треба да се создаде низа на таквите објекти и дополнителни завиткување објект (да се направи транспарентен за другите делови на кодот и помалку грешки склони). Се разбира, ние не ќе создаде објекти за услуги знаеме не се достапни во овој момент.
Решение за ова би било да конфигурирате за подобри перформанси и отстранување на услуги задача - исто како што е сега - еден оператор на јазичен пар.
Ова не треба да биде скап за перформансите, но сепак некои дополнителни логика и потрошувачка на меморија.
Ве молиме кажете за чие решение е најпосакувана.