LINUX.ORG.RU

Выбора тред: Node.js vs Go

 ,


1

5

Дорогой ЛОР, помоги выбрать.

Есть сайд-проект X который я писал пару месяцев, функционально он уже готов и делает, то что он должен делать, если вкраце то это веб-приложение обвязка для уведомлений о любых музыкальных группах, что бы быть вкурсе всех релизов всех групп, что когда вышло, что бы не пропускать альбомы/еп/итд, думаю потом сделать тоже самое, для сериалов с доставкой торрента (но тут вопрос, что последние законы с этим не дружат, а с музыкой все ок).

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

Написано все это дело на good old php + laravel, потестировав это дело под нагрузкой я остался не доволен, учитывая что мне потом понадобится мобильное приложение которое будет работать с API, все это дело выйдет в копеечку, да и response time как-то не очень, даже если это дело все оптимизировать я улучшу результат в 2-5 раз, но это все равно мало.

Все мы знаем, какое пхп г-о поэтому закономерный результат, переписать приложение на что то модное и быстрое, что бы потом не париться с кластером который все это дело будет обслуживать.

Под мои задачи подходят Node.js и Golang, что выбрать? что лучше? по результатам моих тестов предположительно подходят оба.

Не предлагать:
Ruby, Python - производительность будет такой же.
Java, Scala - оставьте это банкам, скорость разработки слишком низкая, IDE на Java тормозят.
C# - тут все понятно, мне он импонирует, вот только он от MS, MSVS тормозит и только под оффтопиком.
Ну и всякую другую полудохлую минорщину.

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

beri node i ne parsja takze pod nego est free hostingi na vremja otladki

anonymous
()
Ответ на: комментарий от umren

Кешируй в бд инфу по группам. Затем ты будешь запрашивать инфу по группам: бегаешь по айдишникам, ищешь данные из редиски или мемкешеда, чего нет - берёшь из бд, сортируешь в RAM и выдаёшь. Можешь прекешировать всю выборку. Выиграешь ощутимо, если БД будет толстая, но она не будет :)

tia
()
Ответ на: комментарий от umren

Redis отлично с этим справится, у него под это дело есть списки и множества. Возможно стоит перенести хранение таких пересечений туда. Плюс редис умеет publish / subscribe что позволит удобно и просто оповещать нужных тебе юзеров.

duck
()
Ответ на: комментарий от duck

Redis отлично с этим справится, у него под это дело есть списки и множества

Получается, я перенесу всю базу в Redis? :> хотя конечно, можно первую страничку после обновления в него засовывать.

umren ★★★★★
() автор топика
Ответ на: комментарий от umren

затем, что взять денормализованные данные из кеша по ключу - быстрее, чем сходить в базу и собрать их из нескольких таблиц.

maloi ★★★★★
()
Ответ на: комментарий от maloi

затем, что взять денормализованные данные из кеша по ключу - быстрее, чем сходить в базу и собрать их из нескольких таблиц.

Только получается, что дублирование данных происходит, что не есть хорошо

umren ★★★★★
() автор топика
Ответ на: комментарий от umren

естественно, что ничего не бывает бесплатно, мы же не в мире фей и эльфов живем.

maloi ★★★★★
()

Говно твой Laravel и код. PHP всего лишь язык сценариев, он не должен делать все за тебя как и не будет все за тебя делать компилятор Go или интерпретатор NodeJS. Лучше проанализируй где в твоем алгоритме узкие места и пляши от этого(переписать в виде модуля интерпретатора, найти готовые модули с логикой на нативном языке), а то так будешь бегать туда и сюда, серебряной пули не бывает.

n04h
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.