TGViewer
Шпаргалки для айтишников Шпаргалки для айтишников @itcheat_sheet · 749 subscribers
Post #357 594
Верите ли вы, что Google, Meta, Uber, Twitter и Airbnb размещают почти весь свой код в одном репозитории?

Такая практика называется монорепо.

Монорепо против микрорепо. Что лучше? Почему разные компании выбирают разные варианты?

Монорепо - не новинка; и Linux, и Windows были созданы с использованием монорепо. Для повышения масштабируемости и скорости сборки компания Google разработала свой внутренний специализированный инструментарий для более быстрого масштабирования и строгие стандарты качества кодирования для обеспечения единообразия.

Amazon и Netflix являются основными распространителями философии микросервисов. Такой подход естественным образом разделяет код сервисов на отдельные репозитории. Он быстрее масштабируется, но впоследствии может привести к возникновению болевых точек в управлении.

В Monorepo каждый сервис - это папка, а каждая папка имеет конфигурацию BUILD и контроль прав OWNERS. Каждый член службы отвечает за свою папку.

С другой стороны, в Microrepo каждый сервис отвечает за свой репозиторий, при этом конфигурация сборки и права доступа обычно устанавливаются для всего репозитория.

В Monorepo зависимости являются общими для всей кодовой базы, независимо от ее назначения, поэтому при обновлении версии каждая кодовая база обновляет свою версию.

В Microrepo зависимости контролируются внутри каждого репозитория. Предприятия сами выбирают, когда им обновлять свои версии, исходя из собственного расписания.

Microrepo может либо установить свой собственный стандарт, либо принять общий стандарт, включив в него лучшие практики.

Инженеры Google создали Bazel, а Meta - Buck. Существуют и другие инструменты с открытым исходным кодом, в том числе Nix, Lerna и другие.

С годами у Microrepo появилось больше поддерживаемых инструментов, в том числе Maven и Gradle для Java, NPM для NodeJS, CMake для C/C++ и другие.
  • 👍 2
More from @itcheat_sheet
  1. Apr 5, 20259 шпаргалок по RAG, LLM и агентам ИИ ...для инженеров ИИ (объяснение с наглядными примерам…
  2. Jan 22, 2025Шпаргалка из 128 шпаргалок для разработчиков https://dev.to/devmount/a-cheatsheet-of-128-c…
  3. Jan 18, 202512 команд Git, которые вы должны знать
  4. Nov 3, 2024Шпаргалка Linux
  5. Sep 30, 2024Шпаргалка по Docker для начинающих 🐳 https://dev.to/keshav___dev/docker-cheat-sheet-for-b…
  6. Aug 31, 2024Памятка по Kubectl — команды Kubernetes (от базового до продвинутого) https://www.strongdm…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →