Какая структура хороша для предоставления данных, которые обычно меняются за несколько секунд и оцениваются многими людьми (аналогично котировкам акций)?

Я знаком только с php и javascript и думаю, что php не подходит для обслуживания большого количества одновременных запросов. Я был бы признателен, если бы кто-то мог представить мне более подходящую основу для этого, поскольку я пока не знаю ключевого слова для Google. Большое спасибо.

3 ответа

Многоадресная рассылка и структура обмена сообщениями публикации / подписки (pub/sub), в зависимости от источника данных, вашей сети и местоположения ваших слушателей.

На этот вопрос нельзя ответить - вы пришли со стороны "Я маленький вебдуд" и задаете вопрос Люди тратят миллионы, чтобы ответить.

Во-первых, что такое "похожая на стоковую цитата". Шутки в сторону. Я отслеживаю 5 обменов - все предложения CME Group. Я отслеживаю более четверти миллиона символов, наиболее неактивных. Активные имеют сотни обновлений в секунду (кстати, это те, которые меня действительно интересуют).

Во-вторых, что такое "много людей"? 100? 100,000?

Что доставить. Intranet? Интернет? В интранете вы действительно хотите посмотреть что-то вроде Multicast. Интернет Multicast не существует.

Фреймворк? Ну, есть TIBCO, который знаменит. Цена реализации 7 цифр. Rithmic использует Somethign в разработке хоста, как и QUITE многие другие провайдеры в этой области.

Обновления? Что вы думаете о задержке доставки? Я имею ввиду, дома у меня 129 мс после обмена. Где это рассчитывает, я 1 мс от него. Это важно - потому что вы не можете полагаться на "тянуть", вы должны получать обновления.

Это действительно тема Хью. ЛЮБЫЕ Основные языки (C#, Java, C++) и некоторые не очень распространенные имеют доступную привязку. Бюджет и реальное использование начнут определять вашу матрицу решений.

Конечно, это зависит от того, что для вас означает "большое количество" и "данные изменились за несколько секунд". Чтобы справиться с очень большим количеством одновременно работающих пользователей, определенно лучше, чтобы пользователи не часто обращались к вашему серверу динамических приложений.

Интенсивное кеширование с такими вещами, как Varnish + CDN и некоторое быстрое внутреннее хранилище (множество вариантов здесь), очень помогло бы.

Что касается самого динамического бэкэнда, было доказано, что Erlang обладает огромным параллелизмом, и у вас также есть отличные результаты с Java/Scala.

Тем не менее, важно не перегружать себя, поскольку вы, возможно, создаете гораздо более сложное решение, чем на самом деле требует ваша проблема.

Другие вопросы по тегам