#.net #asp.net-core #wcf #grpc
#.net #asp.net-ядро #wcf #grpc
Вопрос:
У меня есть сложный механизм кэширования, который находится внутри моего приложения и использует словари для извлечения данных. Код загружает данные из базы данных и сохраняет их в словарях в памяти самого приложения. Я хочу удалить кеш из приложения и создать cache API.
Причины:
- Сократите время, необходимое для запуска приложения
- Уменьшите объем памяти приложения.
- Чтобы другие приложения могли получать данные из кэша.
Самое главное в новом cache API — это скорость API. Я перехожу из словарей в памяти приложения во внешний API, и это замедлит работу приложения.
Какой вариант даст мне максимальную скорость?
- .Net Core Rest API
- GRPC
- WCF
- Другой вариант?
Спасибо.
Комментарии:
1. WFC основан на SOAP и использует стандартную схему XML, которая может быть медленнее. С другой стороны, Web API может использовать любой текстовый формат, поэтому он быстрее и является первым выбором для легковесных сервисов. WCF — идеальный выбор, когда вам нужно создавать службы, поддерживающие уникальные решения, такие как дуплексная связь и односторонний обмен сообщениями. Когда вам нужно использовать HTTP для создания ресурсоориентированных сервисов, которые могут использовать все возможности HTTP, вам следует выбрать Web API.
2. gRPC использует HTTP / 2, который намного быстрее, чем HTTP / 1.1, используемый в REST по умолчанию. gRPC использует буферы протокола для сериализации данных полезной нагрузки, которые являются двоичными и небольшими. Но у gRPC также есть недостатки. В настоящее время не все браузеры поддерживают gRPC.