@aresouji

Какие технологии использовать для реализации сервиса предоставляющего API?

Доброго времени суток.
Стоит задача реализовать сервис - деловую платформу, включающую в себя:
  • Своеобразную доску объявлений
  • Систему блогов
  • Форум
  • Новостной ресурс
  • Другой незначительный функционал

Так же в перспективе планируется ввести систему коммуникации между пользователями, пока сходимся на real-time чате.
Так как работать все это должно на разных платформах: web, apple, android, win phone, было принято решение разработать main сервер общающийся с клиентом по rest (отдавать будем json)
Собственно дошло дело до инструментов, тут выбираем между асинхронной nodejs (говорят, что нода в API хорошо себя чувствует) и обычным php. Примерная аудитория 100-500 тысяч пользователей (не смейтесь с такого разброса, не знаем как все это пукнет) + дальнейший рост, возможно и больше миллиона, все будет зависить от активности ЦА и работе маркетинг отдела. В качестве базы берем postgresql. Что думаете по этому поводу?

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

Всем спасибо!
  • Вопрос задан
  • 824 просмотра
Пригласить эксперта
Ответы на вопрос 3
Wolfnsex
@Wolfnsex Куратор тега Веб-разработка
Если не хочешь быть первым - не вставай в очередь!
А что Вы ожидаете услышать? В АПИ много кто чувствует себя хорошо, и нода и ПХП и даже С++. Наговнокодить можно на чём угодно, заставить проект работать очень быстро - можно и на ПХП. К тому же, большая часть нагрузки, как мне видится - ляжет на БД, а её проектирование и настройка, особенно это относится к Postgres - это целая наука. Я пока не очень представляю, как NodeJS будет держать такое кол-во пользователей (скорее всего от того, что я не очень хорошо знаком с NodeJS), но случаев когда она с треском падала - в истории достаточно.

Что думаете по этому поводу?
Я думаю, что Вы предоставили слишком мало входных данных и конкретики. Так как, например, даже горячо любимый мной Postgres - в ряде случаев, далеко не лучший выбор. А посоветовать пихать "Базу N" везде, где только можно и нельзя, не понимая всей сути проекта, могут только те, кто с другой базой не работал, и считает, что единственная технология с которой он знаком - лучшая из всех возможных. Посему, в виду скудности входных параметров, ответ на Ваш вопрос будет, либо таким же размазанным как мой, либо чем-то из серии "Юзайте NodeJS+MySQL, мой блог с посещаемостью 30 чел./месяц, вот уже 4-ый год как стабильно работает в такой связке! И ещё на WindowsServer всё это установить не забудьте! Лучшее сочетание из возможных."
Ответ написан
Rou1997
@Rou1997
тут выбираем между асинхронной nodejs (говорят, что нода в API хорошо себя чувствует) и обычным php.

А что из этого вам лучше знакомо?
Ваша основная цель - реализовать проект, а если будете использовать незнакомое то будет еще и цель изучить незнакомое. Тем самым, вы будете тратить гораздо больше энергии и времени.

Тоже самое на вопросы вроде "готовый фреймворк vs самописный фреймворк vs китайский код без фреймворка" - самописный фреймворк это самый заманчивый вариант на будущее, но он же и самый энергоемкий.

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

Так же в перспективе планируется ввести систему коммуникации между пользователями, пока сходимся на real-time чате.

Насчет real-time, есть один момент: с WebSocket лучше работать на Node.js.
А если у вас клиентом служит браузер, то вам желателен WebSocket, потому что иного доступа к сокетам в современных браузерах нет (Flash считаем устаревшим), а сами сокеты желательны для real-time.
Но это не самый важный момент.
Ответ написан
@malbaron
Любой, что лучше знаешь.
PHP, Go, Ruby, NodeJS, Python, Net, C/C++,Perl - да что угодно.
Все варианты реализация имеют право на жизнь.

В качестве базы берем postgresql


Если проект очень перспективен, то:
Я бы выбрал Mongo+Postgres+Tarantool.
Разные описанные вами виды данных удобнее хранить и быстрее обрабатывать в разных СУБД.
Будет и быстрее и ресурсов будет меньше жрать.

Но думается, исходя из того, что вы задаете вопрос - а на чем писать - квалификации исполнителей недостаточно для определения какие данные куда положить.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект