AMcoder - javascript, python, java, html, php, sql

Ինչպե՞ս փոխանցել տվյալները սովորական քաղաքացիություն չունեցող սերվերլետից backend օրինակին:

Ես երբեք չեմ օգտագործել Google App Engine backend-ները և շատ շփոթված եմ նմուշների և մանրամասն փաստաթղթերի բացակայությունից:

Ասենք՝ քվեարկության հավելված ունեմ։ Ես ուզում եմ ձայներ հավաքել սովորական քաղաքացիություն չունեցող GAE սերվերում և այնուհետև փոխանցել տվյալները հետնամասային օրինակին, որը ռեզիդենտ է և այն մշակում է իմ տվյալները: Ինչպե՞ս կարող եմ տվյալներ փոխանցել սովորական սերվերլետից backend սերվիլետին: Ինչպե՞ս կարող եմ նշանակել, թե որ սերվիլետի դասն է սովորական սերվիլետը, և որ սերվիլետը պետք է կառավարվի միայն հետնամասի օրինակում: Ես չեմ տեսնում, թե ինչպես կարող եմ սերվերը նշանակել backend-ին config xml-ում:

Կամ ինչ, եթե ես ունենամ երկու հետին պլան՝ դաս B1 և դաս B2: Ինչպե՞ս կարող եմ քաղաքացիություն չունեցող սերվերի կոդում ընտրել, թե որ հետնախորշերն են այժմ ակտիվ: Ես լսել եմ, որ ես պետք է օգտագործեմ URL Fetch-ը հետնամասերի հետ խոսելու համար, բայց ինչպե՞ս: Ես չգտա, թե ինչպես կարող եմ կրկնել backend-ի օրինակների միջոցով:

Խնդրում եմ, խորհուրդ տուր :)


Պատասխանները:


1

Դուք պետք է սկսեք կարդալ հետին պլանների փաստաթղթերը

Ինչպե՞ս կարող եմ տվյալներ փոխանցել սովորական սերվերլետից backend սերվիլետին:

Դուք ունեք մի քանի տարբերակ՝ փոխանցեք այն անուղղակի՝ կպցնելով տվյալները memcache-ում կամ տվյալների պահեստում: Կամ փոխանցեք այն ուղղակիորեն՝ օգտագործելով URLFetch՝ ձեր հետին պլաններին հարցումներ կատարելու համար (տե՛ս ստորև հասցեագրման տվյալները)

Ինչպե՞ս կարող եմ նշանակել, թե որ սերվիլետի դասն է սովորական սերվիլետը, և որ սերվիլետը պետք է կառավարվի միայն հետնամասի օրինակում:

Հետին պլանի կազմաձևում փաստաթուղթը բացատրում է, որ դուք չեք կարող դա անել (դեռ), չնայած դուք կարող եք դրանք նշել միայն որպես ադմինիստրատոր, որպեսզի դրանք հասանելի չլինեն հանրությանը.

Backends-ը կիսում է web.xml-ում սահմանված սերվերների հավաքածուն ձեր հիմնական հավելվածի տարբերակի հետ: Այս պահին հնարավոր չէ կարգավորել սերվերների առանձին հավաքածու յուրաքանչյուր հետին պլանի համար:

«Հասցեագրում հետին մասի» բաժինը ներառում է տեղեկատվություն այն մասին, թե ինչպես միանալ կոնկրետ հետին պլանին.

Backend-ի օրինակը կարող է թիրախավորվել HTTP հարցումներով դեպի http://[instance]:[backend].[app].appspot.com կամ ձեր հավելվածի հատուկ տիրույթում: Եթե ​​դուք թիրախավորում եք հետին մասը՝ առանց որևէ օրինակ թիրախավորելու՝ օգտագործելով http://[backend]:[app].appspot.com, App Engine-ն ընտրում է հետին մասի առաջին հասանելի օրինակը:

Երբ կազմաձևում եք ձեր հետնամասերը, դուք նրանց տալիս եք անուններ, որոնք մտնում են [backend] բնիկը վերը նկարագրված url սխեմայի մեջ: Եթե ​​ցանկանում եք ուղարկել http հարցումը առաջին հասանելի B1 օրինակին, ապա կօգտագործեիք http://B1.ruslansapp.appspot.com/dosomething/ նման մի բան:

28.10.2011
  • Գոյություն ունի API՝ հետին պլանի URL-ը ստանալու համար այնպես, որ աշխատի մշակողի և արտադրության մեջ և խուսափի URL-ների կոշտ կոդավորման անհրաժեշտությունից՝ code.google.com/appengine/docs/java/javadoc/com/google/ 01.11.2011
  • @NickJohnson և Peter, դուք պատահաբար գիտե՞ք, արդյոք կա՞ միջոց պարզելու ակտիվ դեպքերի քանակը յուրաքանչյուր տվյալ հետնամասում: API-ում նման բան չեմ տեսնում: Այն, ինչ ես կցանկանայի անել, օգտագործել դինամիկ օրինակներ և բեռնվածության հավասարակշռության զանգեր նրանց համար frontend-servlet-ում: Փաստաթղթերի համաձայն, Google-ը կարող է փոխել դեպքերի քանակը՝ ելնելով ծանրաբեռնվածությունից: Մյուս կողմից, ռեզիդենտների մշտական ​​քանակի օգտագործումը բավականին թանկ է: 02.11.2011
  • Ես հասկանում եմ, որ ձեզ հարկավոր չէ ձեռքով բեռնել հավասարակշռությունը հետնամասերը: Քանի դեռ դուք չեք նշել կոնկրետ օրինակ, հավելվածի շարժիչը ձեր հարցումը կուղարկի հաջորդ հասանելի հետին պլանին: 02.11.2011
  • Դե, ինձ համար backend օրինակի առավելությունն ընդդեմ Frontend քաղաքացիություն չունեցող օրինակի այն է, որ այն թույլ է տալիս ինձ ինչ-որ բան պահել հիշողության մեջ 10 վայրկյանից ավելի երկար ժամանակով :) 03.11.2011
  • @NickJohnson, արագ հարց ձեզ: Արդյո՞ք com.google.appengine.api.backends.BackendService.getBackendAddress()-ը վերադարձնում է տարբեր հասցեներ, երբ կազմաձևում է դրված մեկից ավելի դինամիկ օրինակ: Զարգացման միջավայրում այն ​​միշտ վերադարձնում է նույն օրինակի IP:port: 24.11.2011
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..