@RussianEarth

Что больше подойдёт для построения in-memory БД на .NET Core — asp.net по HTTP или консоль по TCP?

Добрый вечер!
Нужна позарез легковесная самопальная программа, хранящая в физической памяти несколько изменяющихся по запросам значений. Обязательно использовать C# и .NET Core на Windows Server. Читая документацию, нашёл, что ASP.NET Core MVC-приложение может быть развёрнуто как на IIS, так и в качестве Windows-службы. На IIS точно можно использовать HTTP/2. В чём будет разница между этими вариантами и обычным консольным приложением, запущенным на сервере и прослушивающим TCP-порт в разрезах производительности и минимальной частоты вынужденного сброса данных на диск (перезапусков)?
Спасибо всем заранее за обстоятельные ответы.
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 1
devspec
@devspec
Помогло? Отметь решением
1. Есть готовое решение: www.litedb.org/. Можно обойтись без программы, используя эту или подобную in-memory БД.
2. Используя Owin Self Hosting в качестве микросервиса, само собой, вы будете нести некие накладные расходы на то, что вы общаетесь с этим микросервисом по HTTP - здесь большее время на соединение, передача заголовков, прием заголовков, ожидание ответа. В то же время, WCF через, скажем, Named Pipes (локально) или TCP (глобально), крайне быстр и подобных накладных расходов не несёт. На большом количестве запросов (миллионы в час) будет очень заметно.
Ответ написан
Ваш ответ на вопрос

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

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