Когда мы говорим о микросервисах и распределённых системах, чаще всего внимание сосредоточено на сетевых задержках: какие сервисы нужно расположить ближе друг к другу, какие узлы связать прямыми каналами, как уменьшить время отклика между датацентрами. Но сегодня появляется ещё один слой топологии, который зачастую остаётся за кадром — NUMA (Non-Uniform Memory Access). И он играет всё большую роль. NUMA — это архитектура памяти, при которой каждый процессорный сокет имеет собственные модули оперативной памяти. Доступ к «своей» памяти происходит быстро, а к «чужой» — через межсокетное соединение, что может увеличить задержку в 2–3 раза. На бумаге сотня наносекунд кажется мелочью, но в реальности это сотни тактов CPU и накопленный джиттер для сервисов с миллионами запросов в секунду. 💡 NUMA — это мини-сеть внутри одного сервера. И как в обычной сети, здесь тоже важна локальность: лучше «ходить к соседу в комнате», чем тянуться в соседнее здание. 🔑 Влияние на базы данных и кэши
Redis, C