Имам набор от приложения на Java AppEngine, структурирани по следния начин:
- REST услуга
- Уеб фронтенд
Тези два компонента се хостват на 2 отделни екземпляра на AppEngine (платени), това е стандартен начин за проектиране на вашето приложение и има смисъл за мен, тъй като имам достъп до услугата REST и от други клиенти (мобилни приложения и т.н.), така че бих обичам да го държа отделно.
Проблемът, който имам, е, че въпреки че ако имам достъп до услугата REST директно (ПОЛУЧАВАНЕ от браузър или мобилни приложения), отзивчивостта винаги е добра, когато имам достъп до услугата REST от моя AppEngine, времето за реакция понякога е много непостоянно.
Проведох куп тестове и докато извършването на GETs от браузъра към услугата REST винаги се връща сравнително бързо, обажданията от предния край на моя AppEngine към услугата REST можеха да преминат от връщане толкова бързо, колкото от браузъра, до отнемане на >10 секунди (предизвикване на прекъсвания и т.н.) с не толкова разумни времена за реакция като цяло (секунди вместо 100 секунди милисекунди).
Ако имаше забавяне като цяло, мога да разбера, че всичко ще отнеме почти същото време, за да получи отговор, но това, което не разбирам, е тази разлика между обаждането на услугата от някъде другаде и обаждането й от от< /strong> екземпляр на AppEngine.
Трябва да кажа, че това не се случва винаги, върви добре със седмици и след това има много лоши дни (днес не се брои наистина, тъй като беше пълно прекъсване) и, въпреки че като цяло съм много доволен от app-engine, понякога ме кара да се чудя дали не съм направил грешка, инвестирайки в тази платформа.
Търся обяснение: това ли е някакво присъщо ограничение на AppEngine при поставяне на опашка от този вид доста стандартни http-заявки, изходящи от екземпляр на AppEngine?
Също така съм мислил за възможни заобиколни решения - може би трябва да хоствам услугата в същия екземпляр като предния край, но наистина не искам да правя това и го оставям като последна възможност.
Всеки съвет се оценява.