2014-01-06 3 views
0

Я разрабатываю агенты для сбора данных из разных источников, данные должны быть отправлены на канал с высокой частотой (скажем, каждые 15 секунд). REST определенно не является решением. Требование явно является огнем и забывается, поскольку ответ на состояние не касается.Масштабируемый и высокопроизводительный канал сообщений

Пропускная способность важнее, капли сообщений приемлемы до 5%.

Возможные решения я сталкиваюсь являются

  • Сообщение Bus
  • Multicast
  • UDP

Любые альтернативы, пожалуйста, предложите.

ответ

1

IMHO Высокая частота слишком быстрая, и 15 секунд вы можете видеть. Чтобы отправить сообщение по всему миру и обратно, требуется около 0,5 секунд. Вы можете увидеть около 15 миллисекунд. И если вы говорите о 15 микросекундах, это определенно высокая частота. У меня есть постоянное решение для обмена сообщениями с задержкой около 0,1 микросекунды, которая составляет 0,0000001 секунд, но я не предлагаю вам это делать.

Если все, что вам нужно - это сообщение каждые 15 секунд, я бы использовал самое простое решение, которое приходит на ум. Я бы попробовал ActiveMQ, который оказался одним из самых простых в работе. Вы должны иметь возможность достигать скорости сообщений до 20 000 в секунду и приличных латентностей около 0,01 секунды, и вы не должны терять никаких сообщений.

+0

Ваш ответ очищает определение высокой частоты. Основываясь на частоте, решение имеет смысл. Есть ли альтернативы, чем перечисленные? –

+1

@NageswaraRao Список слишком длинный, чтобы упомянуть здесь. Я бы использовал самое простое в использовании решение, которое вы можете найти. –

+0

Я прекрасно разбираюсь в разных подходах. Если возможно, напишите или укажите мне ресурс –

Смежные вопросы