Может ли веб-фреймворк meteor.js эффективно поддерживать архитектуру социальных сетей?

Итак, я новичок в node.js, фреймворках javascript и meteor.com. Я пытаюсь научиться создавать социальные сети, и я наивен / изо всех сил пытаюсь понять, почему Meteor.js (meteor.com) не сможет делать все те замечательные вещи, которые вы видите сейчас в twitter, facebook, instagram делают?

Существует технология кометы между клиентом и сервером, конфигурациями аутентификации, асинхронным кодированием для масштабирования и производительности, построенная на основе node.js.

Я пытаюсь узнать больше о длинном опросе, комете, gridFS или о том, как хранятся файлы, и в целом о таких вещах, как наборы репликации и сегментирование, чтобы помочь с производительностью (особенно, поскольку Redhat имеет эту платформу openshift, что мы можем создавать наши собственные частные облака с участием).

У меня есть некоторый опыт в области компьютерных наук, но это похоже на магию, так что мне не хватает? Если бы вы все могли придумать несколько модных словечек, которые заставят работать социальную сеть, которую Meteor.js не поддерживает, что бы это было?

Я слышал кое-что о параллельности и параллелизме (веб-воркеры исправляют это частично, нет?), Веб-сокетах, о том, что языки высокого уровня, такие как python или java, лучше поддерживать. Есть только один, чтобы узнать мои ответы, и это на практике, но я подумал, что кто-то может повлиять на меня так или иначе через эту ветку. Спасибо!


person gamengineers    schedule 08.05.2013    source источник


Ответы (1)


Этот вопрос включает в себя действительно широкую идею, и просто сосредоточение внимания на использовании одного только метеора решило бы эту проблему. Вот несколько моментов, которые следует учитывать:

  1. Я не думаю, что этот фреймворк будет хорошей отправной точкой для изучения long polling, gridFS и т. Д. И т. Д. Meteor стремится быть фреймворком, который, как правило, больше похож на экосистему пакетов, например. вы, безусловно, можете использовать свои собственные вышеупомянутые стратегии - однако для динамических обновлений Meteor использует свой собственный протокол доставки данных (DDP), поддерживаемый / реализованный (неожиданно) хорошей связкой основных пакетов, таких как Spark.

  2. Параллельную обработку и параллелизм можно лучше выполнять на других языках, но почему бы не с? Поскольку Meteor в значительной степени основан на node.js, а node.js действительно хорош с вышеупомянутыми вещами, плюс он может очень работать с другими языками, так что вы можете плавно интегрировать. Meteor на самом деле не требует, чтобы вы полностью полагались на него, поскольку другие языки сказали бы то же самое. Все дело в общем проектировании / планировании вашего проекта. Уже есть много действительно хороших вещей, которые полагаются на Meteor, присоединяйтесь! не бойся. Все сводится к планированию (и, конечно же, к смелости / настойчивости, чтобы это осуществить).

  3. Прямо сейчас мы не можем сказать, будет ли Meteor неспособен к обычным отличным функциям гигантских веб-сайтов. Конечно, мы можем делать обновления в реальном времени, (своего рода) шаблоны публикации / подписки и мощные инструменты для ускорения разработки (посмотрите на семь основные концепции метеора, чтобы лучше понять это). На самом деле не невозможно воспроизвести то, что уже есть. В настоящий момент мы можем сказать это только с неуверенностью в основном потому, что ... (см. Следующий пункт)

  4. Фреймворк такой молодой! на момент написания он все еще был на уровне 0,6.х. Найдите время, чтобы ознакомиться с дорожной картой Meteor, чтобы увидеть, как идут дела в более широком смысле. поддержка персистентности / баз данных, соображений производительности и официальной спецификации DDP.

Надеюсь, я ответил на ваш запрос (и даже больше, надеюсь). Я сам очень взволнован для Meteor, так как он легко может стать следующим большим достижением. У нас есть несколько (для) производственных проектов, использующих Meteor, так что вы получите прямое представление от человека, который проделал немало хакерских атак (и провел массу исследований и из первых рук) в Meteor. Не то чтобы я сказал, что я эксперт или что-то в этом роде, просто работать с Meteor так весело, и я совершенно не шучу.

Надеюсь это поможет!

P.S .: Справедливое предупреждение, ресурсы и документация на данный момент действительно скудны. Я стараюсь внести свой вклад в сообщество, насколько это возможно (одна из моих отправных точек здесь, на SO).

person Seth Malaki    schedule 10.05.2013