[{"data":1,"prerenderedAt":120},["ShallowReactive",2],{"blog-post-/blogs/courses/backend-system-design":3},{"id":4,"title":5,"body":6,"description":106,"extension":107,"meta":108,"navigation":114,"path":115,"seo":116,"sitemap":117,"stem":118,"__hash__":119},"content/blogs/courses/13. backend-system-design.md","Обзор курса Построение распределенных систем от Frontend Masters",{"type":7,"value":8,"toc":99},"minimal",[9,14,31,34,41,70,74,77,96],[10,11,13],"h3",{"id":12},"о-курсе","О курсе",[15,16,17,18,25,26,30],"p",{},"Посмотрел курс ",[19,20,24],"a",{"href":21,"rel":22},"https://frontendmasters.com/courses/backend-system-design/",[23],"nofollow","Backend System Design"," от Frontend Masters.\r\nЭто практический курс по построению распределенных систем. Ведет курс Джем Янг (Jem Young), инженер и инженерный менеджер в Netflix. Смотрел у него курс ",[19,27,29],{"href":28},"/blogs/courses/engineering-management-101","Введение в инженерный менеджмент"," (или менеджмент инженеров?).",[15,32,33],{},"Джем учит системному мышлению — как разбивать любую задачу на компоненты, видеть взаимосвязи и принимать компромиссные решения. Как фронтендер, я постоянно работаю с API, состоянием, производительностью и ограничениями сети. Я хотел расширить свой кругозор и больше узнать почему бэкенд работает именно так и как он спроектирован для больших систем.",[15,35,36,40],{},[37,38,39],"em",{},"Ключевые темы курса",":",[42,43,44,52,58,64],"ul",{},[45,46,47,51],"li",{},[48,49,50],"strong",{},"Требования",": Перевод бизнес-требований и проектирование приложения путем определения масштаба проекта, формулирования требований и учета взаимодействия с пользователем. Разница между функциональными (что система делает) и нефункциональными требованиями (NFR). NFR — это про безопасность, масштабируемость, наблюдаемость (observability) и производительность. Именно здесь происходят компромиссы, например, теорема CAP (нужно выбирать между согласованностью, отказоустойчивостью и доступностью)",[45,53,54,57],{},[48,55,56],{},"Проектирование высокого уровня",": Разбор моделей данных, API и протоколов (HTTP, WebSockets, gRPC, GraphQL). Почему для банковского API лучше REST, а для микросервисов — gRPC. Как выбор протокола влияет на время жизни батарейки мобильного устройства",[45,59,60,63],{},[48,61,62],{},"Масштабирование и хранение данных",": Разбор горизонтального (добавление серверов) и вертикального (улучшение сервера) масштабирования, балансировщиков нагрузки. Затронули темы шардирования, репликации, кэширования и стратегий инвалидации кэша",[45,65,66,69],{},[48,67,68],{},"Безопасность и асинхронность",": Разбор HTTPS termination (где расшифровывать трафик — на балансировщике или сервере), различия между аутентификацией и авторизацией, сравнение сессий и JWT. Также рассказал про асинхронные процессы на примере загрузки видео: очереди, message broker'ы, worker'ы",[10,71,73],{"id":72},"итоги","Итоги",[15,75,76],{},"Курс \"Backend System Design\" Джема Янга — это инвестиция в архитектурное мышление.\r\nПосле его прохождения не стать бэкенд-разработчиком или архитектором, но можно увидеть как работает система на разных слоях и понять, какие могут быть компромиссы при построении высокоуровневой архитектуры.",[15,78,79,82,83,86,87,89,90,92,93,95],{},[37,80,81],{},"Стоит ли проходить это курс?"," ",[84,85],"br",{},"\nДа, если:",[84,88],{},"\nНикогда не задумывался, что под капотом всей системы или большого приложения ",[84,91],{},"\nНужно систематизировать знания о высокоуровневой архитектуре ",[84,94],{},"\nХочется спроектировать архитектуру приложения с нуля",[15,97,98],{},"Моя оценка: 7/10, хороший вводный курс",{"title":100,"searchDepth":101,"depth":101,"links":102},"",2,[103,105],{"id":12,"depth":104,"text":13},3,{"id":72,"depth":104,"text":73},"Небольшое ревью курса Построение распределенных систем от FrontendMasters.","md",{"date":109,"image":110,"alt":24,"ogImage":110,"tags":111,"published":114},"22-01-2026","/courses/backend-system-design.jpg",[112,113],"обучение","frontend masters",true,"/blogs/courses/backend-system-design",{"title":5,"description":106},{"loc":115},"blogs/courses/13. backend-system-design","oLaa3dtnCz",1779917110868]