@Urbansamurai

Как архитектурно организовать поисковый микросервис на golang?

Возникла идея огранизовать поиск по каталогу цифровых товаров как отдельный микросервис на основе Go и Redis. Go выступает как API, смотрящее наружу через реверс-прокси и берущий данные из монги, либо из redis кэша если он есть.

Есть ли в этом смысл с точки зрения архитектуры?
  • Вопрос задан
  • 349 просмотров
Решения вопроса 1
tumbler
@tumbler
бекенд-разработчик на python
Redis как кэш актуален для "одноядерных" языков вроде node/python/php. Там большие проблемы с многопоточным доступом к памяти, поэтому вместо памяти используют key-value (memcached еще вспомнить можно). А если у вас голанг - так зачем редис? Воспользуйтесь кэшом в памяти, всё еще на порядок быстрее работать станет за счет отсутствия сетевых взаимодействий на кэш-хитах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Все верно. Самая обычная практика.
Только вместо Redis можно и Memcached (быстрее). https://medium.com/@Alibaba_Cloud/redis-vs-memcach...
Использовать in-memory k/v хранилище как советует Сергей Тихонов так же можно, однако в таком случае при перезапуске сервиса (ошибки и т.д.) потеряются данные в кэше и уйдет время на разогрев кэша.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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