elizarov


Блог Романа Елизарова


Entries by tag: dxfeed

Краткий отчет: Миллионы котировок в секунду на чистой Java
elizarov

Появились слайды с моего доклада Миллионы котировок в секунду на чистой Java. Встреча получилась долгой. Было много интересных вопросов. Большое спасибо всем, кто их задавал. Многое я рассказывал не со слайдов. Основные акценты, конечно, все есть на слайдах, но пояснения к ним я давал голосом.

UPDATE: На сайте Лекториум появилось и видео.

Слайды доступны по ссылке: Millions quotes per second in pure java.

А видео прямо здесьCollapse )


Миллионы котировок в секунду на чистой Java
elizarov

В четверг, 28 февраля, в Петербурском офисе компании Oracle я раскажу о том, как проект dxFeed в компании Devexperts справляется с получением, обработкой, нормализацией, хранением и передачей миллионов котировок в секунду, при том что весь код написан 100% на Java.

Платформа Java имеет массу особенностей, которые, с одной стороны, делают её идеальным выбором для создания больших и сложных систем, но, с другой стороны, заставляют искать специфические подходы и шаблоны для написания высокопроизводительного кода. Этот доклад будет посвящён выделению объектов и сборке мусора, структурам данных и особенностям объектной модели Java, преимуществам и недостаткам компиляции машинного кода «на лету» — в общем, всему тому, чего нет в языках низках уровня типа C и C++ и что необходимо понимать и учитывать при реализации высоконагруженных систем на Java.

Полный анонс и регистрация на участие здесь

UPDATE: Краткий отчет о встрече, обсуждение, и слайды здесь


Обработка ошибок в API высокого уровня
elizarov

Я опубликовал вводную часть руководства по dxFeed API на сайте dxFeed и хочу подробней остановиться на обработке ошибок в API высокого уровня. Посмотрите на типичное синхронное API по работе с файлами или сетью в любой операционной системе или в любом языке программирования общего назначения. Вы увидите набор методов для открытия файла или соединения, набор методов для отсылки и получения данных, для закрытия. В случае ошибки они возвращают какой-нибудь специальный результат для индикации ошибки или создают исключение (как например IOException). Асинхронное API отличается тем, что вызов метода дает лишь сигнал начать операцию, а её выполнение будет произведено позже. Тем не менее, сигнал об ошибке так или иначе является частью результата, который будет получен позже. Для API низкого уровня явная индикация всех ошибок это естественное поведение. Ведь на основе этого API стоится множество различных приложений с различными требованиями. Реакция на ошибку сильно зависит от конкретного приложения.

А вот в API высокого уровня...Collapse )


Транспортный уровень и сетевое общение в QDS
elizarov

Вдогонку к предыдущей статье про архитектуру QDS на сайте dxFeed, я опубликовал там же статью про транспортный уровень и сетевое общение. В ней я кратко описываю сетевую архитектуру QDS, основная особенность которой заключается в том, что транспортный уровень надстраивается над логикой ядра и зависит от него. Объясняю что такое QDS multiplexor и как он естественным образом получается. По просьбам читателей я буду публиковать статьи на блоге dxFeed от своего имени.

Tags: ,

Введение в архитектуру QDS на сайте dxFeed
elizarov

Я начал вести серию записей на сайте dxFeed на Английском языке посвященную архитектуре ядра QDS — нашего высокоскоростного движка передачи сообщений. Первая запись под названием "Introduction into QDS architecture" содержит введение в общие понятия и описывает архитектуру QDS и dxFeed в целом. Основной упор сделан на освещении тех дизайнерских решений, которые обеспечивают высокую производительность.

Tags: ,

?

Log in

No account? Create an account