Всем привет! Меня зовут Андрей Демьянов. Я тимлид и разработчик в МТС Travel. Совместно с другими командами мы создаем сервис по бронированию отелей в России и всему миру. Развиваемся с нуля, поэтому прямо на себе испытываем необходимость в новых библиотеках, подходах и изменениях,…
У вас есть запрос к базе данных или к платному API, и вы кэшируете результат? Для кэша используете ConcurrentDictionary или MemoryCache?У кэша, построенного на этих классах, есть одна неприятная проблема: отсутствие защиты от давки кэша (cache stampede). При определённой нагрузке кэш будет многократно выполнять один и тот же запрос из-за отсутствия координации между потоками и репликами. В этой статье я наглядно покажу, как давка кэша влияет на C# приложение и что с этим делать. Читать далее
Привет, в этой заметке хотелось бы уделить внимание стейт менеджерам, и зачем мне 2. Я сижу на react, точнее на next.js и нет я не делаю бекнд на джс, next for SSR only. Многие задаются вопросом зачем нужен сетйт менеджер если есть реакт контекст, если кратко то чтобы передавать зачтения вверх по дом дереву, и не иметь иметь просто и надежный механизм передачи любых данных внутри приложения. че там
В статье речь идет о state colocation, то есть о совместном размещении состояний, этот термин можно было бы еще перевести как стейт колокейшн или стейт колокация. Одной из основных причин замедления работы React приложения является его глобальное состояние (global state). Я покажу это на примере