@Urbansamurai

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Grey Shop Москва
от 120 000 до 150 000 ₽
Reka.Market Иннополис
от 100 000 до 250 000 ₽
Ovision Санкт-Петербург
от 100 000 до 300 000 ₽
09 мая 2021, в 11:10
15000 руб./за проект
09 мая 2021, в 09:26
30000 руб./за проект