Избегайте единой точки отказа для клиента Bloomberg API - PullRequest
0 голосов
/ 04 мая 2020

У меня есть клиент API (написанный на Java), подписывающий рыночные данные с помощью Bloomberg API, и он сохраняет данные в базе данных. Но любая программа может выйти из строя по некоторым причинам.

Чтобы избежать единой точки отказа, я думаю, чтобы одновременно работало несколько клиентов API. Но внутри события нет уникального идентификатора, так как я могу избежать дублирования данных в базе данных? Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 мая 2020

Для событий TRADE вы можете использовать поле с торговым идентификатором. Для тиковых котировок вам нужно будет согласовать, используя несколько полей, таких как значение котировки, временная метка с более высоким временем решения, но при этом не гарантируется уникальность.

1 голос
/ 04 мая 2020

Вариант 1: Подписаться на данные BAR. Тогда есть уникальный идентификатор рыночных данных: время и безопасность. Недостаток: более низкое разрешение (в лучшем случае за минуту, против отдельных тиков)

Вариант 2: приложите максимальные усилия при подписке, затем выполните исторический запрос и замените данные, полученные при подписке, историческим ответом. Делая исторический запрос, вы знаете, когда вы успешно завершили обработку ответа. Это зависит от вас, когда сделать исторический запрос на замену данных из подписки. Может быть каждые несколько минут или в конце дня.

...