00:20
Очередная "инкарнация" API

Это перепечатка оригинальной статьи, расположенной на сайте EVE Online. Адрес оригиналаwww.eveonline.com/ru/incarna/article/2004/очередная-171-инкарнация-187-api

Всем привет!

В рамках этой статьи мы хотим рассказать об изменениях в системе API, которые будут реализованы в рамках обновления Incarna. Имейте в виду, что, скорее всего, эти изменения повлияют на работу ваших приложений ― приносим свои извинения за то, что эта статья опубликована так поздно.

Больше данных

Если вы читали наши предыдущие статьи, то знаете, что мы изменили тип данных для нескольких переменных в нашей базе данных. Эти изменения затронули и систему API; поэтому если вы используете строгую типизацию, или ваше приложение накладывает какие-либо ограничения на размер соответствующих переменных ― обратите на них внимание. Ниже приведен список изменений:

MarketOrders– переменная orderID теперь имеет размер 64 бита (вместо 32 бит), typeID ― 32 бита.

WalletTransactions– переменная transactionID теперь имеет размер 64 бита. Это относится к страницам char/ и corp/, .csv и .xml.

Меньше данных

ФункцияMarketOrdersтеперь будет возвращать только перечень активных заказов, срок действия которых еще не истек. Объем данных, получаемых этой функцией ранее, был слишком большим, и поэтому мы решили ограничить его за счет истекших и выполненных заказов. Мы понимаем, что это большое изменение ― но большинство игроков используют эту функцию для получения списка именно активных заказов, а старые данные получают с помощью списка транзакций. Впрочем, если мы не правы ― скажите нам; мы всегда готовы принять ваши замечания во внимание.

«Гуляющие» транзакции

Возможно, вы знаете, что мы изменили принцип работы обходчика транзакций, который используется на всех страницах WalletTransactionsдля просмотра («page back») более старых записей. При этом возникла небольшая проблема ― если вы (или ваша корпорация) совершали более Х транзакций в период между сеансами обновления кэша, то система API выдавала Х самых старых записей. Теперь API будет выдавать Х самых новых записей; просмотр более старых записей осуществляется в обычном порядке.

Регулирование количества запросов

Мы постоянно работаем над повышением быстродействия системы API и увеличением ее надежности. Обычно этот процесс связан с оптимизацией запросов и кэширования данных, но на этот раз мы решили посмотреть на проблему с другой стороны ― а именно на то, как некорректные запросы к системе API влияют на ее быстродействие. Оказалось, что это влияние достаточно сильно ― и поэтому мы решили принять соответствующие меры. Принцип работы новой системы прост: если с вашего IP-адреса совершается Х ошибочных запросов за Y минут, доступ к системе API с этого адреса будет заблокирован на Z минут. Если ваш IP-адрес заблокирован, то вы получите сообщение об ошибке с новым кодом 904. Оно выглядит примерно так:


  2011-06-21 13:18:52
  Your IP address has been temporarily blocked because it is causing too many errors. See the cacheUntil timestamp for when it will be opened again. IPs that continually cause a lot of errors in the API will be permanently banned, please take measures to minimize problematic API calls from your application.
  2071-06-21 13:21:50

Для начала мы установим довольно строгие правила регулирования, но будем готовы в любой момент ослабить их (схожими принципами руководствуются и правительства при разработке налоговой политики!) Итак, для начала, если с вашего IP-адреса в какой-то момент поступит более 3 ошибочных вызова в минуту, то доступ с него к системе API будет заблокирован на 3 минуты.

Имейте в виду, что доступ к игре и нашим сайтам для таких IP-адресов заблокирован НЕ будет. Ограничения распространяются исключительно на систему API.

Новые правила регулирования вызовов могут повлиять на работу вашего приложения ― особенно если оно получает большое количество данных от системы API для различных игроков и корпораций. Впрочем, мы надеемся, что разработчики приложений примут это во внимание и будут организовывать работу с системой API таким образом, чтобы максимально сократить количество неправильных вызовов ― в конечном итоге, это сделает работу с системой API более надежной для всех пользователей.

В настоящий момент эта система уже активирована на сервере Singularity, и вы можете сами посмотреть на нее в действии. Имейте в виду, что в эту версию API НЕ входят настраиваемые ключи доступа ― их тестирование возобновится вскоре после ее выпуска и продлится до конца августа.

Вот и все. Еще раз приношу свои извинения за то, что эта статья увидела свет так поздно ― и если регулирование количества запросов доставит вам проблемы, мы всегда сможем ослабить эти ограничения.

Удачного кодинга!

-          CCP Elerhino

Похожие материалы

Категория: Технологии | Просмотров: 1243 | Добавил: Heritor | Теги: Incarna, API | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
»Рубрики«
Механика [13]
Изменения в механике игры
Контент [3]
Миссии, предыстория и пр.
Графика [5]
Визуальные эффекты и графика
Технологии [14]
Системные требования, API, технологии
Web-технологии [4]
Официальный сайт, сервисы
Экономика [4]
Внутриигровая экономика, QEN
Прочее [9]
Материалы общего характера
»Поиск«
»Календарь«
«  Июнь 2011  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930
»Ссылки«
»О сайте«

SKOLI.ru — русский фан сайт игры EVE Online. Статьи и новости с официального сайта eve-online о мире Нового Эдема, гайды, переводы хроник EVE, скриншоты и обои, амбиентная музыка из игры, видео.

»Статистика«

© 2008-2017 SKOLI.RU
Обязательна ссылка на источник, если вы используете материалы, расположенные на данном сайте.
COPYRIGHT NOTICE
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. is not in any way affiliated with, Skoli.ru. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.