Задать вопрос
@Fifeco

Какой стек технологии выбрать для сайта объявлений с посещаемостью до 500.000 в день?

Привет! Мы хотим создать сайт объявлений с нуля, для страны с небольшим населением (~ 5 миллионов) ․ Ожидается 200-500 тысяч посетителей в день (до 10-12 миллионов просмотров страниц в день)․ 1-2 миллиона активных объявлений. Речь идет о максимально возможной посещаемости, которая прогнозируется в будущем.

Основные возможности сайта такие же, как на платформах Avito или Olx.

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

Мы рассматриваем язык программирования PHP и фреймворк Laravel, но опасаемся, что Laravel будет работать очень медленно в случае такой посещаемости.

Финансирование есть, небольшое (~ 8000 долларов в месяц).

У нас есть 1 год на первоначальную версию сайта.

У проекта есть отдельное финансирование за рекламу и маркетинг, так что с этим проблем нет. Посещаемость точно будет.

Заранее извиняюсь за безграмотный русский, это мой второй язык. Заранее спасибо
  • Вопрос задан
  • 472 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 4
Lillipup
@Lillipup
Allons-y, Алонсо!

но опасаемся, что Laravel будет работать очень медленно в случае такой посещаемости.

А вдруг не будет такой посещаемости?
Я б выбрал laravel, потому что преждевременная оптимизация — корень всех зол.
Ответ написан
@deliro
Зачем брать PHP для создания с нуля?

12млн просмотров в день, если вспомнить типичное распределение нагрузки, выльется в пиковые 500-1500 RPS. При этом, большая часть времени будет тратиться на ожидание IO — базы данных и кэши. Что уже говорит о том, что язык должен поддерживать асинхронность, гринтреды, акторы или что-то подобное. Причём, 1000 RPS — это уже достаточно много, чтобы задумываться об оптимизациях и, возможно, горизонтальном масштабировании. И это, пожалуй, единственное требование для вашего продукта.

Я бы брал Golang, как хороший компромисс между производительностью, надёжностью и скоростью разработки. Но нужно понимать, что плохо написать можно на любом инструменте.

UPD.
Я не рассматриваю Golang, как "преждевременную оптимизацию", а наоборот, как инструмент, который позволит отсрочить необходимость оптимизации.
Ответ написан
romesses
@romesses
Backend инженер
Если будет хорошо продумана архитектура и грамотно реализовано, то язык имеет не первостепенную роль. Как уже уже было отмечено, асинхронность - важный атрибут в работе с ресурсами.
Не нужно стремиться к идеальному стеку технологий. Начните с Laravel или другого фреймворка и решайте проблемы по мере их поступления. Но важно заранее планировать работу всех компонентов и иметь в развитии видение системы.
По мере роста посетителей сможете заменять проблемные участки кода и улучшать.
Ответ написан
Комментировать
@kot999
Backend software engineer
Как сказал коллега выше - преждевременная оптимизация - корень всех зол. Вопрос не в языке и не в фреймворке. Каждый из современных языков и фреймворков можно оптимизировать. Возьмите то, с чем вы будете испытывать меньше трудностей. Можно ведь пилить бесконечно идеальный продукт, и никогда его не выпустить. Fail fast, fail cheap.
Оптимизацией лучше заниматься тогда, когда возникает в этом необходимость и там, где возникнет эта необходимость. Пилить сразу большой проект на чистом GO, я думаю будет очень сложно человеку, не знакомому с языком, и возможно не знакомому с инфраструктурой микросервисов. Go это ведь не только синтаксис. Да и даже в больших проектах на GO выносят только отдельные микросервисы, требующие оптимизации. (*так по крайней мере было на моей практике).
за 8к вы точно не найдете достаточно программистов чтобы пилить приложение на go-микросервисах, k8s эксперта который правильно будет деплоить и поддерживать k8s инфраструктуру вместе с ci-cd. А если всем заниматься самому, то хорошего из этого ничего не выйдет, глаз начнет дергаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@caballero
Программист
основная проблема будет не на чем делать сайт а как раскрутить для такого количества поетителдей
Я уже не говорю что людям которые не знают какой стек выбрать вряд ли стоит начинать делать такой сайт
Ответ написан
Ваш ответ на вопрос

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

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