@Sherhank

Выбор стека бэкенда для обработки 10 тыс. запросов?

Привет, хотел бы задать вопрос по выбору стека бэкенда для обработки 10 тыс. запросов в секунду, мы хотели взять .Net Core(C#), но нам заказчик говорит что C# это платформа зависимая, что должно работать на Linux и т.д. На ум приходить Python с Django, но python один из медленных языков программирования, суть вопроса по вашему что нужно выбрать?
  • Вопрос задан
  • 404 просмотра
Решения вопроса 2
vabka
@vabka
Токсичный шарпист
1. Больше слушай заказчиков. Если он такой эксперт, то зачем вас нанял? .NET прекрасно работает на Linux.

2. 10k rps - это нужно смотреть на то, каких именно запросов в секунду оно должно держать и в каких условиях.
Нужно хотябы уточнить, что именно будет происходить в рамках обработки запроса и сколько железа можно на это выделить. Может вам вообще нужно 10к запросов на какой-то встраиваемой железке делать?

Как уже выше сказали - это достижимо в принципе с любым языком, но опять же зависит от условий.
Также следует различать задержку и пропускную способность. С пропускной способностью в большинства современных фреймворков/языков проблем нет, если есть поддержка асинхронной модели работы.
Если очень важна именно задержка - смотри в сторону C++, Rust, Go.

3. Выбирай то, с чем умеете работать, и на счёт чего вы уверены.

Если уверены, что сможете запустить C# на Linux и достичь нужного результата - берите C#.
Если уверены, что сможете достичь нужного результата на python - берите python.
Ответ написан
Комментировать
Steel_Balls
@Steel_Balls
Здесь надо не язык и платформу выбирать, а разрабатывать архитектуру.
Я бы сделал один-два балансировщака на nginx и 10-20 серверов неважно на каком стэке.
Для примера. У меня 5 дешёвых серверов по 5 USD каждый держат нагрузку около 24 тысяч запросов в секунду
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@calculator212
10 тыс. запросов?
Тут вопрос в том, какие ресурсы вы готовы выделить на это и что из себя представляют эти запросы, т.к. это могут быть простые ge/post запросы без обращения в базу, просто на отдачу инфы. Могут быть запросы на сложные вычисления, где на запрос будет тратится около 30мс, могут быть запросы к базе, где на запрос может тратиться еще больше. Поэтому в такой форме вопрос не имеет смысла. Нужно уточнить что вам нужно
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы