Docs Advanced

Advanced

The Advanced section covers non-trivial scenarios that emerge as Plumego systems grow.

These topics are not required to get started.
They are not even required for many production systems.

They become relevant when:

  • Scale increases
  • Complexity accumulates
  • Operational requirements tighten
  • Architectural trade-offs become unavoidable

This section exists to address those realities without abandoning Plumego’s core principles.


What This Section Is About

Advanced topics typically involve:

  • Performance and efficiency trade-offs
  • Concurrency and resource control
  • Large-team collaboration concerns
  • Long-term evolution strategies
  • Integration with complex infrastructure
  • Failure modes that appear only at scale

These are not “features”.

They are engineering decisions under pressure.


What This Section Is Not

Advanced is not:

  • A replacement for Core or Concepts
  • A collection of shortcuts
  • An excuse to bypass explicit boundaries
  • A place for framework magic

If an advanced technique relies on hidden behavior,
it is almost certainly incompatible with Plumego.


Design Constraint: Core Remains Untouched

A fundamental rule governs this section:

Nothing in Advanced changes the Core contract.

Advanced techniques may:

  • Add layers
  • Introduce new abstractions
  • Compose existing primitives in new ways

They must never:

  • Add implicit lifecycle phases
  • Inject hidden dependencies
  • Bypass explicit wiring
  • Alter request flow semantics

Advanced does not mean “less explicit”.


Typical Advanced Scenarios

This section addresses questions like:

  • How do I handle very high request throughput?
  • How should I structure a large Plumego codebase?
  • How do I manage cross-service concerns?
  • How do I introduce background processing safely?
  • How do I reason about performance bottlenecks?
  • How do I evolve APIs without breaking clients?

These questions do not have universal answers —
only explicit trade-offs.


Reading Guidance

You should read this section selectively.

If a topic does not match a real problem you are facing:

  • Skip it
  • Bookmark it
  • Come back later

Premature optimization and premature complexity are still problems.


Relationship to Other Sections

  • Core defines guarantees — Advanced must respect them
  • Concepts explain mechanics — Advanced builds on them
  • Architecture defines structure — Advanced explores extensions
  • Guides solve common problems — Advanced tackles edge cases
  • Patterns enforce discipline — Advanced assumes you follow them

If any of those foundations are missing,
Advanced topics will cause more harm than good.


Topics You Will Find Here

Examples of advanced topics include:

  • High-performance middleware patterns
  • Request fan-out and aggregation
  • Background and async processing models
  • Multi-tenant system considerations
  • API versioning strategies
  • Observability at scale
  • Memory and allocation awareness
  • Controlled use of generics and abstractions

Each topic is framed around constraints and consequences, not recipes.


Advanced ≠ Clever

A recurring theme in this section:

If an advanced solution makes the system harder to reason about, it is probably the wrong solution.

Plumego values:

  • Predictability over cleverness
  • Explicitness over convenience
  • Stability over novelty

Advanced techniques must still be boring at their core.


When to Read This Section

You should consider Advanced topics when:

  • You can no longer answer “what happens next?” easily
  • Performance issues are measurable, not speculative
  • Multiple teams touch the same codebase
  • Operational failures become costly
  • System evolution becomes risky

If none of these apply, you are likely better served elsewhere.


Summary

The Advanced section exists to:

  • Address real-world complexity
  • Preserve Plumego’s explicit design under pressure
  • Expose trade-offs honestly
  • Avoid framework-driven shortcuts

Advanced does not mean abandoning discipline.
It means applying it more carefully.


Next

If you are entering this section, a good starting point is:

→ Performance and Allocation Awareness

This explains how to reason about efficiency in Plumego without premature optimization.

Alternatively:

→ Background Processing Models

For systems that must do more than request–response handling.

In this section

  • Performance Considerations
    Reasoning about performance in Plumego systems: where costs come from, how to measure them, and how to optimize without breaking clarity.
  • Custom Router
    When and how to introduce a custom routing layer in Plumego without breaking core guarantees or request lifecycle predictability.
  • Replacing Components
    How to replace components in Plumego systems safely, incrementally, and without breaking architectural guarantees.
  • Embedding Plumego
    How to embed Plumego into larger systems safely, preserving explicit boundaries and avoiding hidden lifecycle coupling.
  • Multi-Service Setup
    Designing and operating multi-service systems with Plumego while preserving explicit boundaries, ownership, and predictability.
  • Background Processing
    How to introduce background and asynchronous processing in Plumego systems without breaking request lifecycle guarantees.
  • API Versioning
    Strategies for evolving HTTP APIs in Plumego systems without breaking clients, hiding behavior, or losing architectural clarity.