Fetch — это библиотека Scala для организации доступа к данным из файловых систем, БД, веб-сервисов и любых других источников, данные из которых можно получить по уникальному идентификатору. Библиотека написана в функциональном стиле и основана на Cats и Cats Effect. Предназначена для композиции и оптимизации выполнения запросов к разным источникам данных. Она позволяет:
- запрашивать данные из нескольких источников параллельно;
- запрашивать данные из одного источника параллельно;
- объединять запросы к одному источнику в один запрос;
- производить дедупликацию запросов в каждой из перечисленных ситуаций;
- кэшировать результаты запросов.
Для этого в библиотеке предоставляются средства, которые позволяют писать чистый бизнес-код без низкоуровневых конструкций для осуществления перечисленных оптимизаций.
В примерах используется последняя на момент написания версия Fetch — 1.3.0.