Вышли Java/Python SDKs 1.3.2, а также обновился Roadmap



    Сначала расскажу об изменениях в SDKs, а потом о том, что разработчики нам обещают в ближайшие 6 месяцев.

    Итак,
    — Хранилище поддерживает 2 режима чтения данных и исполнения запросов: strong consistency (изначальное поведение хранилища, установлено по умолчанию), и eventual consistency. При режиме «strong consistency» все операции чтения данных и запросы будут ждать до окончания предыдущих изменений (которые были совершены, но не успели примениться к данным в распределенном хранилище). При режиме «eventual consistency» все операции чтения и запросы будут использовать версии уже имеющихся данных в хранилище, даже если эти данные ожидают изменений. Этот режим нужно использовать тогда, когда скорость чтения важнее, чем гарантированно обновленные данные.

    — Хранилище поддерживает максимальный срок ответа (deadline) для большинства операций. Если при запросе хранилище его превышает, вызов прерывается и управление передается приложению.

    — Возможность включить защиту от ДДОСА, посредством прописывания в конфиге приложения (dos.*yaml*xml*) «неугодных» ip-адресов и подсетей. Топ наиболее активных ip, которые подозреваются в атаке, появляются в админке приложения в новом разделе Blacklists, и их можно заносить в конфиг. Я в прошлую среду общался в чате с одним из разработчиков AppEngine (jason@google), и он сказал, что развитие DDOS-сервиса на этом точно НЕ остановится (думаю будет фильтрация и по странам и пр).

    — Доступ из приложения к данным из BlobStore напрямую, посредством задания диапазона байт. На данный момент лимит на чтение составляет 1 мегабайт (как и для большинства сервисов AppEngine).

    — Возможность добавления множества заданий в очередь при одиночном обращении к TaskQueueAPI, а также увеличена максимальная скорость пополнения очереди до 50/сек.

    — Через URL Fetch можно теперь обращаться к удаленным ресурсам, используя порты 80-90, 440-450, и 1024-65535 (раньше были только 80 и 443).

    — В JavaSDK добавлена утилита AppStats, по аналогии с PythonSDK.



    Из старого:
    — Поддержка MapReduce — выйдет уже скоро, думаю в 1.3.3 или 1.3.4.
    — Возможность бекапа и восстановления данных (Это bulkloader, который они постоянно доделывают).

    Из нового:
    — Поддержка SSL для своих доменов.
    — Поддержка Browser Push (Comet).
    — Фоновые приложения, способные работать более 30 секунд.
    — Возможность резервирования «инстанса», для уменьшения накладных расходов на запуск приложения.
    — Возможность выбора различных опций «availability vs. latency» для хранилища (выбор датацентра?).
    — Увеличенные лимиты на размер запроса/ответа для некоторых APIs.
    — Встроенная поддержка OpenID и OAuth.
    — Улучшенный мониторинг и улучшение системы предупреждений приложения.

    Кроме того, уже давно идет работа по Full Text Search, это тоже думаю, что скоро появится.

    Вообщем я доволен как слон; и SSL, и Comet и прочие вкусняшки давно ожидались мною в AppEngine.

    Полные списки изменений:
    Release Notes: Python
    Release Notes: Java
    Revision History
    Product Roadmap
    Поделиться публикацией

    Комментарии 38

      0
      вот теперь и не знаю, ждать FullTextSearch или прикручивать гуглопоиск к проекту?!
      новости радуют.
        0
        Ну FullText не в следующем релизе, думаю, появится. Но в пределах Google IO (19 мая) точно должен, ибо о нем доклад будет — «Next gen queries».
        +1
        >>>из старого:…
        >>>из нового:…

        это роадмап?
          –1
          Да. Там же ссылка подката с поясняющим тектом.
        • НЛО прилетело и опубликовало эту надпись здесь
          • НЛО прилетело и опубликовало эту надпись здесь
            –2
            Для чего на данный момент могут применяться фоновые приложения?
              0
              Глупый вопрос. Обработка изображений/видео/аудио. Да любая объёмная работа, в т.ч. и математическая.
                –4
                Спрашивалось конкретно про GAE
              0
              Да, небольшой вопрос знатокам:
              Как в GAE обстоят дела с «бесплатным»? Слышал что есть ограничение на количество отрендеренных страниц и туча других. Правда ли оно? Действует ли? Уж очень сладко оно смотрится.
                +2
                Про квоты можно подробно почитать в документации. Эту же странцу можно посмотреть на русском, заменив в урле /en/ на /ru/, однако в русской версии некоторые квоты устарели, т.е. актуальна только англ. версия.

                Так что все хорошо в GAE обстоит с бесплатным, для открытия своего стартапа — самое то. Бесплатных лимитов для начала хватит за глаза. А вот если стартап выстрелит — вот тогда и можно оплачивать доп. квоты. Тем паче что оплата идет только за действительно использованные ресурсы (а не за время использования, как на амазоне например).
                  0
                  у меня сейчас на один закрытый проект (доменное имя купили, но сайт в разработке) долбятся с нескольких тупых рекламок по 26к запросов в день (до 4-ех в секунду). в ответ они получают 500 + текст «сайт в разработке». так вот — бесплатных квот по запросам — 1 333 328 в сутки.

                  скорее всего в CPU квоты можно упереться…
                  0
                  самое вкусное — «Через URL Fetch можно теперь обращаться к удаленным ресурсам, используя порты 80-90, 440-450, и 1024-65535 (раньше были только 80 и 443).» только этого мне не хватало для реализации своего поисковика.
                    +7
                    Хочешь сделать свой конкурент гуглу на их же системе приложений? Хитро.
                    0
                    А эти два режима с бд очень актуальны, только я не понял это в будущих релизах или щас можно буит использовать?
                      0
                      Уже можно.
                        0
                        Это хорошо только вот не нашел примеров использования.они вообще есть?
                          0
                          Доков пока нет, посмотрите использование в питоновском сдк, там вроде все понятно.
                            0
                            чтото не нашел, дайте ссылочку
                              0
                              Вот 2 сравнения 1.3.2 с 1.3.1:
                              ext/db/__init__.py — то, чем обычно пользуются в приложении.
                              api/datastore.py — низкоуровневая работа с хранилищем.

                              Вроде из сравнений все становится понятным, как использовать. Хотя сам я еще не пробовал.

                                0
                                А для java, сейчас посмотрел, делается так:

                                import static DatastoreServiceConfig.Builder.*;
                                DatastoreServiceConfig config =
                                withReadPolicy(new ReadPolicy(Consistency.EVENTUAL)).deadline(5.0);
                                DatastoreService service = DatastoreServiceFactory
                                .getDatastoreService(DatastoreServiceConfig config);

                                Ну и далее уже получение данных: service.get(key) и т.д.
                                  0
                                  что курсоры что это? через обычный JPA кажись юзать не получится?
                                    0
                                    Курсоры это хорошо, статья о них была уже на хабре, читайте :) А c JPA получится, смотрите тут: JPQLCursorTest. Однако JPA совсем-совсем не предназначена для нереляционных БД, имхо. И все что делает datanucleus-appengine — это большие костыли.
                                      0
                                      про курсоры читал уже, вот как их в jpa юзать не знал, ща порою
                        0
                        допиливание XMPP в роадмапе отсутствует. грустно :(
                          0
                          Это они и так сделают, обещали же, лично в чате. Не ясно только, когда… А сроков они никогда не говорят.
                            0
                            Про XMPP что в GAE, что в G-аккаунтах они говорят хз сколько. Вот месяца 4 назад для какой-то лёгкой фигни(вроде, что-то с пресенсом было не так) долго отвоёвывали. Не знаю как и что…
                            В любом случае XMPP не входит в состав важных задач. Им бы допилить то что они хотели сделать…
                              0
                              Насколько я знаю, часть относящуюся к XMPP (что внутренний сервис, что часть sdk) писали и поддерживают не ребята из AppEngine, а из команды GTalk, и посему все долго.
                                0
                                Ну как я и говорил. «Бида-бида».
                              0
                              ладно про сроки не говорят — понятно, а вот отсутствии в роадмапе расстраивает и надежд не вселяет. А обещание в чате ни к чему не обязывает, к сожалению.
                                0
                                а code.google.com/p/googleappengine/issues/detail?id=2071 до сих пор имеет статус New и даже не Acknowledged
                                  0
                                  О! Вот тот самый issue, о котором я говорил выше. Оказывается, оно даже так… Всё хуже чем я думал. Ой вей…
                                  +1
                                  Да в роадмапе они и не напишут, функционал-то XMPP уже реализован. В него они пишут только абсолютно новые направления. И, кстати, роадмап тоже ни к чему не обязывает :)

                                  Тут вот какое дело — надо мне было фаервол — я их полгода долбил и в чате, и на форуме, и собирал людей, чтобы головали за issue и комментили в ней, и даже лично общался с их тимлидом по почте — в итоге сделали.
                                  Далее — надо мне фиксированный баланс без еженедельного снятия с моментальным пополнением + пополнение вебманями — аналогично, долго долбил по технике выше — в итоге, насколько мне известно — уже делают.

                                  Так что все в ваших руках :) Секрет я вам рассказал, что надо делать.
                                    0
                                    а контакт тимлида можно? форум — это гуглгруппа? там я ни единого ответа не получил. всё как в пустоту.
                                      0
                                      Контакт, к сожалению, попросили не давать, я с ним списался после общения в чате (в привате) в основное время appengine#chat#irc.
                                      Но можете писать на apijason@g**gle.com, это его публичный мейл.
                                      Форум да, гуглогруппа, но лучше в чате их долбить сначала.
                                        0
                                        вы я смотрю активный фанат AE. можно ссылочку на ваше приложение? оценить масштабы =)
                                          +1
                                          У меня нет публичных приложений (по крайней мере пока, дорого слишком) на AppEngine, только для «внутреннего» использования. Но пик на одном из приложений был 7.6 миллионов хитов в сутки. Полет отличный.
                                      0
                                      Так бы сразу и сказал: «DDoS'им их с требованиями запилить XMPP-функционал».

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое