October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

How Does a Go Monorepo Keep Four Processes Distinct?

A commerce platform's four Go binaries share one repository and internal package tree. Learn how the team separates process roles, limits dependencies and scopes development watchers.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

One Go repository can run four separate long-lived processes without turning every application into the same service: this team gives site, shops, admin and worker separate entry points, then shares the code and data contracts that connect them. Antonio Towami describes the arrangement as a modular monolith: process boundaries are real, but the applications remain coordinated in one codebase.

What the four processes do

Each executable has a distinct role. The repository also contains an importer command, but Towami describes it as a CLI utility rather than a fifth long-running service.

As an Amazon Associate I earn from qualifying purchases.

Entry point Responsibility Runs an HTTP server?
site Marketplace portal and country catalogs, served on the main domain and country subdomains. Yes
shops Merchant storefronts on platform subdomains and custom domains. Yes
admin Back-office panel. Yes
worker Background tasks handled through Redis queues, including email, Telegram and imports. No

Separate entry points let the team run and manage these roles as separate processes. That does not mean each process has its own repository, model layer or versioned API.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How shared code stays organized

All four binaries use a common internal/ package tree. The described application flow runs from router and middleware to handler, service, repository, and model/database, with templates and DTOs alongside those layers. Application-specific paths such as handler/site/, handler/shops/ and handler/admin/ keep the web applications distinct within that shared tree.

Each binary imports the packages it needs rather than loading every application layer. In particular, worker does not import HTTP handlers or templates. That keeps its dependency set aligned with its background-job role, even though it shares other code with the web processes.

What Go enforces—and what it does not

Go’s internal directory rule is enforced by the toolchain: code outside the permitted parent tree cannot import those packages. It does not enforce the team’s proposed layer order. Keeping handlers, services and repositories in their intended roles is a convention supported by review and tests, not a restriction that internal/ itself provides.

Why keep the applications in one repository?

Towami gives three reasons for the shared repository. First, the applications use common product, shop and user models. Second, a change that crosses layers—such as updating a database column—can be made together in one commit. Third, the binaries can be deployed as independent service units without requiring an orchestration platform, service mesh or versioned APIs between these cooperating applications.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

These are the author’s reasons for the design, not measured savings or a comparison against a tested alternative. A concise summary from Towami’s article is: “A Go monorepo with one cmd/ entry point per service gives us process-level separation while keeping atomic refactors and one go.mod.”

The key distinction is that independent processes do not automatically make an architecture microservices. Here, the executables are separate, while code and data contracts remain shared; Towami calls that a modular monolith.

How development avoids rebuilding every service

The article says the four builds use CGO_ENABLED=0 and produce self-contained binaries managed as independent service units. During development, each service runs in Docker with Air hot reload. A broad watcher can cause a shared-code change to trigger rebuilds for services that do not use the changed area.

The team’s fix is to scope file watching to each service. The examples describe exclusions rather than a universal configuration: the worker excludes templates, handlers, routers, assets and storage; admin excludes the site and shops handlers. The point is to avoid treating every repository change as relevant to every running process. The article does not provide configuration syntax or establish a quantified build-time improvement.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When this boundary fits—and when to revisit it

In Towami’s account, the approach fits while the applications share a schema and are maintained by one team. It keeps related changes together while preserving separate process responsibilities. The author identifies independent ownership or a need for independent deployment as reasons to reconsider the boundary, but gives no threshold at which a split becomes preferable.

For another team evaluating the same choice, the useful questions are about the shape of its dependencies and ownership—not the number of executables alone:

  • Shared schema: Do the applications depend on common models and coordinated data contracts?
  • Cross-layer changes: Is it valuable to make a database or model change across applications in one atomic commit?
  • Ownership: Are the applications maintained by one team, or do they need independent ownership?
  • Deployment: Is it enough to run separate binaries as service units, or is independent release and deployment a stronger requirement?
  • Operational burden: Would separate repositories and API contracts solve a real coordination problem, or add overhead to applications that still change together?

These are decision axes implied by the author’s rationale, not measured results. The account describes one implementation, not a universal rule that a monorepo or a split repository is best.

What the account establishes

Towami’s article, published September 24, 2026, documents the team’s stated structure and rationale. It is a first-person implementation account, not an independent operational review: it does not report comparative performance, deployment-time measurements, or a quantified productivity gain. The practical takeaways are the separate responsibilities, selective imports from shared packages, and service-specific watch scopes—not a claim that this architecture is always faster or cheaper.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.