Я работаю над проектированием торговой системы с использованием Java Realtime (Sun JRTS 2.2) и хотел бы задать несколько вопросов о лучших практиках, потому что я боюсь изобретать колесо и почти уверен, что моя задача уже решена.
Итак, у меня есть поток, который постоянно читает сокет, анализирует байты и извлекает сообщения (двоичный протокол).После этого я должен послать сообщения в алгоритм, который на самом деле выполняет некоторые вычисления и принимает решение о торговле или нет.
Так что я думаю, что я должен спроектировать эту систему, разделив ее на 2 части.Producer (периодический (?) Поток реального времени, который извлекает байты из сокета, анализирует его) и Consumer (поток реального времени (периодический / спорадический?), Который извлекает сообщения от производителя, манипулирует ими и т. Д.).
Итак, первый вопрос - как спроектировать высокопроизводительную связь между этими двумя потоками (производитель / потребитель)?Также я хотел бы услышать комментарии о существующем опыте в разработке таких систем, советы и т. Д.
Спасибо за вашу помощь!