Одна из проблем рынка криптовалют для алготрейдинга — это вездесущий REST API. Многие биржи и сервисы предлагают в качестве API именно REST, а не более надежные и быстрые аналоги. Профессиональный FIX API я вообще пока нигде не встречал на этом рынке, иногда встречается разве что WebSocket. Работая с REST API, приходиться выполнять огромное количество запросов, чтобы система имела up-to-date котировки. При работе с нормальным API, мы просто подписываемся и ждем обновлений, здесь же приходиться бомбардировать сервер биржи бесконечными запросами.
Эта проблема приводит к тому, что биржевые сервера испытывают огромное количество запросов со стороны клиентов. Как следствие, биржа исполняет запросы с рандомными задержками. Единственное, как удалось решить эту проблему — это создавать 5-10 потоков, которые одновременно закидывают биржу запросами в надежде получить ответ быстрее, чем другие потоки. Увы, это применимо не ко всем запросам. Приходиться создавать многопоточный механизм со своими особенностями к каждому типу запросов. В итоге, комплекс работает, но методы решения огорчают.
Биржи сами себя загоняют в тупик: вместо того, чтобы написать качественный и удобный API, они экономят и внедряют дешевый REST API. Это приводит к сильным перегрузками, им не хватает серверных мощностей и биржи закрывают регистрацию.
Что касательно синхронизации потоков, могу посоветовать хорошую подборку с визуализацией для Java. Пригодиться для решения похожих задач.
https://habrahabr.ru/post/277669/
#api #советы
Эта проблема приводит к тому, что биржевые сервера испытывают огромное количество запросов со стороны клиентов. Как следствие, биржа исполняет запросы с рандомными задержками. Единственное, как удалось решить эту проблему — это создавать 5-10 потоков, которые одновременно закидывают биржу запросами в надежде получить ответ быстрее, чем другие потоки. Увы, это применимо не ко всем запросам. Приходиться создавать многопоточный механизм со своими особенностями к каждому типу запросов. В итоге, комплекс работает, но методы решения огорчают.
Биржи сами себя загоняют в тупик: вместо того, чтобы написать качественный и удобный API, они экономят и внедряют дешевый REST API. Это приводит к сильным перегрузками, им не хватает серверных мощностей и биржи закрывают регистрацию.
Что касательно синхронизации потоков, могу посоветовать хорошую подборку с визуализацией для Java. Пригодиться для решения похожих задач.
https://habrahabr.ru/post/277669/
#api #советы