Задать вопрос
DenisOgr
@DenisOgr
Developer

Как реализовать проект PHP+NodeJS+MySQL?

Сам проект - проект что-то типа твиттера.
Микро сообщение имеют связи:
- теги,
- автор
- статус 1
- настроение (статус 2)

Точнее:
1. Много мелких транзакций(добавление, лайки, комменты микро сообщений)
2. Обновление в реальном времени на клиенте(новые микро сообщения)
3. Хранение в БД большого количества микро сообщений.
4. Быстра выборка по тегу, автору, статусу 1, статусу 2, возможно по слову внутри микро сообщения.
5. API

Архитектуру как у твиттера сейчас прям не планирую делать.
Делать буду на Yii.
Какие плюшки php, операционки, Mysql, Nodejs ставить?
Я никогда не делал такие проекты.
Кеширование? Но как бы и кешировать ничего не нужно, все же динамическое.
InnoDB плюс индексацию по "поисковым" полям, плюс запросы от руки а не AR - это тоже понятно.
Что еще посоветуете?

Спасибо.
  • Вопрос задан
  • 5721 просмотр
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
Посоветую начать делать.

В вопросе каша, ничего непонятно. Что хотите узнать то?
Ответ написан
Комментировать
@urvalla
Я бы посоветовал Node.js с socket.io (для websockets) и MongoDB + Redis/Memcached (для кэша). Кэш нужен для записей к которым часто обращаются (скорее всего, это просто недавние записи), а также для вещей вроде статуса online. Вебсокеты - чтобы не мучить сервер и канал аяксом. Можно Yii, можно чистый Node.js - не так важно, потому что лучше передавать пользователю статические страницы с js, им соединяться с socket.io, и отдавать сообщения JSON-ом через свой же API.
Ответ написан
asheee
@asheee
Я бы тоже посоветовал NodeJS, socket.io, Mongo, Mongoose, возможно Redis(сессии, кэш), ну и ExpressJS. Последний, мне кажется, будет очень удобен для создания API. Особенно стоит присмотреться к методам app.params (для того, чтобы не усложнять контроллеры воборками, и тд). Но я бы не рекомендовал использовать базовый скафолд ExpressJS, потому что в приложениях больше, чем маленький чат или статический сайт структура начинает выглядеть неаккуратно. Я использую для организации пару вспомогательных модулей из LocomotiveJS (Фреймворк над Express. Я бы использовал его, но он не очень гибкий. Есть какие-то проблемы с интеграцией веб-соккетов). Пример Структуры приложения, которая мне кажется хорошо подходит для Express и не самых маленьких приложений можно посмотреть на примере движка для блога.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы