Size: a a a

2020 July 23

ЕО

Евгений Омельченко... in Go-go!
Если нет целеполагания, то ничего не имеет значения. Не бывает ничего идеального, инструменты нужно под задачи выбирать
источник

J

Je in Go-go!
Мимо Проходящий
map slice + mutex, sync.Map
На го редис юзать для кеша - моветон
сам придумал? как раз в го не самая лушая реализация мапы для кэша, от банального не  thread safety, до нагрузки на GC
и когда у нас есть десяток решений со своими нюансами типа https://github.com/allegro/bigcache
может быть не такой уж и моветон заюзать уже масштабируемое решение redis?) особенно если инстансов больше одного
источник

DM

Dmitry M in Go-go!
Je
сам придумал? как раз в го не самая лушая реализация мапы для кэша, от банального не  thread safety, до нагрузки на GC
и когда у нас есть десяток решений со своими нюансами типа https://github.com/allegro/bigcache
может быть не такой уж и моветон заюзать уже масштабируемое решение redis?) особенно если инстансов больше одного
а где лучшая реализация мапы?
источник

АП

Александр Попов... in Go-go!
Je
сам придумал? как раз в го не самая лушая реализация мапы для кэша, от банального не  thread safety, до нагрузки на GC
и когда у нас есть десяток решений со своими нюансами типа https://github.com/allegro/bigcache
может быть не такой уж и моветон заюзать уже масштабируемое решение redis?) особенно если инстансов больше одного
sync map же есть :D
источник

АП

Александр Попов... in Go-go!
но меня сейчас проклянут
источник

J

Je in Go-go!
Dmitry M
а где лучшая реализация мапы?
для временного кэша? никакая)
но именно в го с ним еще больше проблем, чем обычно, все начинает тормозить при достижении некоторого порога аллкаций
источник

МП

Мимо Проходящий... in Go-go!
Je
сам придумал? как раз в го не самая лушая реализация мапы для кэша, от банального не  thread safety, до нагрузки на GC
и когда у нас есть десяток решений со своими нюансами типа https://github.com/allegro/bigcache
может быть не такой уж и моветон заюзать уже масштабируемое решение redis?) особенно если инстансов больше одного
"Нагрузка на гц" - это выдумки, либо говнокод. Ни разу не сталкивался с кейсом чтобы гц был узким местом. Потокобезопасная мапа тоже есть, учите матчасть. Вот только она не нужна
источник

AC

Andrey Chiganov in Go-go!
имхо — редис превосходное хранилище для мульти-процессовых/распределённых приложений по типа key-value.
Также, зашло использование редиска в качестве своебразного лока (redlock) ресурсов, опять-таки, в распределённых/мульти-процессовых прилогах.
Редис используют как брокер результата в отложенных задачах.
Те, кто ругают редис, за то что он не персистентный — ну так он не для этого нужен. Если вы пытаетесь забить гвоздь отвёрткой, это не значит что отвёртка плохая.
источник

МП

Мимо Проходящий... in Go-go!
Евгений Омельченко
Эм, а вы знаете, что мап не шринкается?
И не обязана, да и не нужно. Память отдаётся блоками, и в управляемых средах в т. ч.
источник

DP

Daniel Podolsky in Go-go!
коллеги

использование кеша тянет за собой проблему его инвалидации. которая, как известно, одна из самых сложных

поэтому, следует избегать кешей, где только возможно

и как только вы начинаете кешей избегать - оказывается, что они и не нужны
источник

ЕО

Евгений Омельченко... in Go-go!
Daniel Podolsky
коллеги

использование кеша тянет за собой проблему его инвалидации. которая, как известно, одна из самых сложных

поэтому, следует избегать кешей, где только возможно

и как только вы начинаете кешей избегать - оказывается, что они и не нужны
Всё зависит от ожидаемого уровня производительности и модели консистентности конкретных данных
источник

АП

Александр Попов... in Go-go!
Daniel Podolsky
коллеги

использование кеша тянет за собой проблему его инвалидации. которая, как известно, одна из самых сложных

поэтому, следует избегать кешей, где только возможно

и как только вы начинаете кешей избегать - оказывается, что они и не нужны
а как же хайлоад? там же кеш априори должен быть ну по гайду если
источник

d

dmitriy in Go-go!
Александр Попов
а как же хайлоад? там же кеш априори должен быть ну по гайду если
щас вам скажут, что хайлоада не бывает
источник

C

Constantine in Go-go!
Александр Попов
а как же хайлоад? там же кеш априори должен быть ну по гайду если
у хайлоада чаще проблема с записью, чем с чтением )
источник

ЕО

Евгений Омельченко... in Go-go!
Хайлоад тут не при чём, можно хайлоад без кеша построить. Важна не нагрузка, а ожидаемое время отклика
источник

DP

Daniel Podolsky in Go-go!
Александр Попов
а как же хайлоад? там же кеш априори должен быть ну по гайду если
хайлоад - это термин, который придумал олег бунин
источник

C

Constantine in Go-go!
Евгений Омельченко
Хайлоад тут не при чём, можно хайлоад без кеша построить. Важна не нагрузка, а ожидаемое время отклика
вот, да
источник

C

Constantine in Go-go!
Daniel Podolsky
хайлоад - это термин, который придумал олег бунин
ох уж эти маркетологи
источник

МП

Мимо Проходящий... in Go-go!
Daniel Podolsky
коллеги

использование кеша тянет за собой проблему его инвалидации. которая, как известно, одна из самых сложных

поэтому, следует избегать кешей, где только возможно

и как только вы начинаете кешей избегать - оказывается, что они и не нужны
У меня 100к юзеров, я при запуске сервиса беру их из бд в мапу и потом ищу юзеров по этой мапе. А иначе пришлось бы на каждый реквест аутентификации идти в бд.
источник

АП

Александр Попов... in Go-go!
просто бд априори после определенной нагрузки начнет не справляться, по сравнению с "тупым" хранилищем key-value которое отдает тупо обьект целиком собранный
источник