Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Очередная «инкарнация» API


  • Авторизуйтесь для ответа в теме
3 ответов в теме

#1
ventress

ventress

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 648 сообщений
79
  • EVE Ingame:Assaj Ventress
  • Client:Eng
Перепост официального перевода, взят отсюда.
Оригинал тут.

Всем привет!

В рамках этой статьи мы хотим рассказать об изменениях в системе 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
  • 1

Ты забыл про общий батфон, общий форумный баттхерт и общий форумный дамаг контрол. В наше непростое время это более яркие индикаторы коалиций. чем всякие там мелочи типа тимспиков с трекерами :troll:


#2
Heggi

Heggi

    Newbie

  • Tech II Pilots
  • 29 сообщений
0
  • Client:Eng

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


Писец, и как теперь определять схлопнувшиеся ордера?
Any Ideas ?
  • 0

#3
LapaM

LapaM

    #define TRUE FALSE

  • Tech III Pilots
  • PipPipPipPip
  • 1136 сообщений
69
  • EVE Ingame:LapaM
  • Corp:-
  • Ally:-
  • Channel:efs
  • Client:Eng
Посмотреть разницу не катит?
  • 0
переубеждать тролля в том, что жираф на самом деле существует, если он не верит фоткам и видео - неразумно, потому что единственным нормальным методом будет анальное изнасилование жирафом этого тролля. С другой стороны, совершенно очевидно, что временные- и трудозатраты на то, чтобы возбудить жирафа, чрезмерны для цели переубеждения упертого дебила. Хотя жирафу будет приятно. возможно. (с) Clancy

#4
ventress

ventress

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 648 сообщений
79
  • EVE Ingame:Assaj Ventress
  • Client:Eng
Как любит говорить ццп - кешировать, кешировать и еще раз кешировать) И сверять с логами валлета :facepalm:
  • 0

Ты забыл про общий батфон, общий форумный баттхерт и общий форумный дамаг контрол. В наше непростое время это более яркие индикаторы коалиций. чем всякие там мелочи типа тимспиков с трекерами :troll:





1 посетителей читают тему

0 members, 1 guests, 0 anonymous users