# Architecture principles whose type is mechanism

> 74 records

This index as JSON: https://banes-lab.com/json/api/facets/architecture/type/mechanism

## Entries

- [Runtime Discovery](https://banes-lab.com/records/architecture/runtime-discovery.md): A mechanism that finds the available handlers, plugins or services at startup by matching a naming convention, a file pattern or metadata, and registers each one it finds in place of a hand-written list.
- [Service Discovery](https://banes-lab.com/records/architecture/service-discovery.md): A mechanism that resolves a service name to a healthy network endpoint at call time through a registry.
- [Dynamic Binding](https://banes-lab.com/records/architecture/dynamic-binding.md): A mechanism that selects the implementation behind an interface at runtime, from configuration or a registry, so the choice is made at bootstrap or first use rather than fixed in code.
- [Dynamic Dispatch](https://banes-lab.com/records/architecture/dynamic-dispatch.md): A mechanism that chooses which operation runs from the receiver or a keyed table at runtime, replacing a conditional over kinds.
- [Vector Clocks](https://banes-lab.com/records/architecture/vector-clocks.md): A mechanism that keeps one counter per node on each update, so two updates can be compared as ordered or concurrent.
- [Lamport Clocks](https://banes-lab.com/records/architecture/lamport-clocks.md): A mechanism that stamps each event with a logical counter, advanced on every send and receive, to give a partial order.
- [Hybrid Logical Clocks](https://banes-lab.com/records/architecture/hybrid-logical-clocks.md): A mechanism that combines physical time with a logical counter, so timestamps follow causal order and stay close to wall-clock time.
- [CRDTs](https://banes-lab.com/records/architecture/crdts.md): A mechanism that stores replicated state in data types whose merge is commutative, so replicas converge without coordination.
- [Total-Order Broadcast](https://banes-lab.com/records/architecture/total-order-broadcast.md): A mechanism that delivers every message to every node in the same order, agreed by consensus.
- [Versioning](https://banes-lab.com/records/architecture/versioning.md): A mechanism that labels each release of an interface or schema, so consumers can tell compatible changes from breaking ones.
- [Orchestration](https://banes-lab.com/records/architecture/orchestration.md): A mechanism that runs a multi-step workflow from one coordinator, which calls each step in order and tracks its outcome.
- [Leader Election](https://banes-lab.com/records/architecture/leader-election.md): A mechanism that lets a group of nodes agree on one coordinator and replace it when it fails.
- [Consensus](https://banes-lab.com/records/architecture/consensus.md): A mechanism that lets a quorum of nodes commit one value, so every correct node ends up with the same value.
- [Choreography](https://banes-lab.com/records/architecture/choreography.md): A mechanism that coordinates a cross-service flow through events, with each service reacting to the previous one's event.
- [Static Analysis](https://banes-lab.com/records/architecture/static-analysis.md): A mechanism that checks source code against a ruleset without running it.
- [Containerization](https://banes-lab.com/records/architecture/containerization.md): A mechanism that packages an application with its runtime dependencies into an image that runs the same on any host.
- [Polymorphism](https://banes-lab.com/records/architecture/polymorphism.md): A mechanism that lets one interface have several implementations, with the implementation chosen by the object that receives the call.
- [Message Queue](https://banes-lab.com/records/architecture/message-queue.md): A mechanism that holds messages durably until a consumer takes and acknowledges each one.
- [Event Bus](https://banes-lab.com/records/architecture/event-bus.md): A mechanism that dispatches each emitted event to the handlers registered for its type.
- [Event Stream](https://banes-lab.com/records/architecture/event-stream.md): A mechanism that keeps events in an ordered, replayable log that consumers read from their own offset.
- [Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md): A mechanism that undoes the business effect of a completed step when a later step of the workflow fails.
- [Backpressure](https://banes-lab.com/records/architecture/backpressure.md): A mechanism that lets a consumer signal its capacity, so a producer slows down when the consumer falls behind.
- [Fitness Functions](https://banes-lab.com/records/architecture/fitness-functions.md): A mechanism that turns an architecture rule into an executable check the pipeline runs on every change.
- [Capability Declaration](https://banes-lab.com/records/architecture/capability-declaration.md): A mechanism by which a plugin or service lists the operations it supports, so callers test the list instead of probing for methods.
- [Reflection](https://banes-lab.com/records/architecture/reflection.md): A mechanism that lets a program read and act on type metadata about its own structure at runtime.
- [Introspection](https://banes-lab.com/records/architecture/introspection.md): A mechanism that lets a program query an object's type and public members at runtime without changing them.
- [Compile-Time Evaluation](https://banes-lab.com/records/architecture/compile-time-evaluation.md): A mechanism that computes values, checks or generated code during the build, so the work and its errors happen before runtime.
- [Runtime Code Generation](https://banes-lab.com/records/architecture/runtime-code-generation.md): A mechanism that builds executable code while the program runs, from a specification such as a field mapping.
- [Vector Search](https://banes-lab.com/records/architecture/vector-search.md): A mechanism that finds records whose embeddings lie close to a query's embedding.
- [Logging](https://banes-lab.com/records/architecture/logging.md): A mechanism that records structured events with their context as the code runs.
- [Monitoring](https://banes-lab.com/records/architecture/monitoring.md): A mechanism that collects metrics about resources and service levels over time and compares them with thresholds.
- [Alerting](https://banes-lab.com/records/architecture/alerting.md): A mechanism that notifies an on-call responder when a monitored condition holds for longer than its threshold.
- [Audit Logging](https://banes-lab.com/records/architecture/audit-logging.md): A mechanism that appends an immutable record of each sensitive operation, naming the actor, the action, the target and the time.
- [Correlation ID](https://banes-lab.com/records/architecture/correlation-id.md): A mechanism that attaches one identifier to a request and carries it through every call, message and log line the request causes.
- [Causation ID](https://banes-lab.com/records/architecture/causation-id.md): A mechanism that stamps each event with the identifier of the event that caused it.
- [Distributed Tracing](https://banes-lab.com/records/architecture/distributed-tracing.md): A mechanism that propagates a trace context across service calls and records each call as a timed span of one trace.
- [Load Balancing](https://banes-lab.com/records/architecture/load-balancing.md): A mechanism that spreads incoming requests across healthy instances of a service.
- [Rate Limiting](https://banes-lab.com/records/architecture/rate-limiting.md): A mechanism that caps how many requests a caller can make in a time window and rejects the excess.
- [CDN / Edge Caching](https://banes-lab.com/records/architecture/cdn-edge-caching.md): A mechanism that serves cacheable content from servers near the requester, keyed by a fingerprint of the content.
- [Windowing](https://banes-lab.com/records/architecture/windowing.md): A mechanism that groups an unbounded stream into bounded windows of event time and aggregates each window separately.
- [Extension Points](https://banes-lab.com/records/architecture/extension-points.md): A mechanism that exposes named hooks or interfaces where new behavior can be added without editing the core.
- [Service Registry](https://banes-lab.com/records/architecture/service-registry.md): A mechanism where services or plugins register under a key and are resolved by that key at runtime.
- [Feature Toggle](https://banes-lab.com/records/architecture/feature-toggle.md): A mechanism that switches a code path on or off at runtime from externally held flag state, so a release can happen without a deploy.
- [Health Checks](https://banes-lab.com/records/architecture/health-checks.md): A mechanism that reports whether an instance and the dependencies it needs are ready to serve, so routing and restarts can act on it.
- [Failover](https://banes-lab.com/records/architecture/failover.md): A mechanism that switches traffic or reads to a standby instance when the active one fails.
- [Redundancy](https://banes-lab.com/records/architecture/redundancy.md): A mechanism that keeps spare instances or capacity for a critical component, spread across failure domains.
- [Replication](https://banes-lab.com/records/architecture/replication.md): A mechanism that keeps copies of data on several nodes under a declared consistency policy, such as a write quorum.
- [Rollback](https://banes-lab.com/records/architecture/rollback.md): A mechanism that restores the previous versioned release when a deployment fails its verification.
- [Graceful Shutdown](https://banes-lab.com/records/architecture/graceful-shutdown.md): A mechanism that, on a stop signal, stops accepting work, drains in-flight work and closes connections before the process exits.
- [Schema Validation](https://banes-lab.com/records/architecture/schema-validation.md): A mechanism that parses incoming data against a schema at the boundary and rejects any payload that does not conform.
- [Type Safety](https://banes-lab.com/records/architecture/type-safety.md): A mechanism that has the compiler reject operations on values of the wrong type before the code runs.
- [Authentication](https://banes-lab.com/records/architecture/authentication.md): A mechanism that verifies a caller's claimed identity from a credential before any protected action runs.
- [Authorization](https://banes-lab.com/records/architecture/authorization.md): A mechanism that decides, from a policy, whether an authenticated principal may perform an action on a resource.
- [Access Control](https://banes-lab.com/records/architecture/access-control.md): A mechanism that evaluates an access policy for each request to a resource and denies the request when the policy does not allow it.
- [Input Validation](https://banes-lab.com/records/architecture/input-validation.md): A mechanism that checks external input against a schema at the boundary before core logic uses it.
- [Output Encoding](https://banes-lab.com/records/architecture/output-encoding.md): A mechanism that escapes values for the context they are written into, such as HTML, SQL or a shell.
- [Encryption at Rest](https://banes-lab.com/records/architecture/encryption-at-rest.md): A mechanism that encrypts stored data with managed keys, so the storage medium alone does not reveal it.
- [Encryption in Transit](https://banes-lab.com/records/architecture/encryption-in-transit.md): A mechanism that encrypts traffic between parties with TLS or mutual TLS and verifies the peer's certificate.
- [Policy Enforcement](https://banes-lab.com/records/architecture/policy-enforcement.md): A mechanism that blocks an action a policy forbids at the point the action is attempted.
- [Policy as Code](https://banes-lab.com/records/architecture/policy-as-code.md): A mechanism that expresses policies as machine-readable rules which a pipeline or policy engine evaluates automatically.
- [CSRF Protection](https://banes-lab.com/records/architecture/csrf-protection.md): A mechanism that rejects state-changing requests which lack proof of coming from the site's own pages, such as an anti-forgery token.
- [Parameterized Queries](https://banes-lab.com/records/architecture/parameterized-queries.md): A mechanism that sends query text and values to the database separately, so values are never parsed as query syntax.
- [Session Management](https://banes-lab.com/records/architecture/session-management.md): A mechanism that keeps authenticated sessions on the server, with expiry, rotation and revocation, and gives the client only an opaque identifier.
- [Write Barrier](https://banes-lab.com/records/architecture/write-barrier.md): A mechanism that lets a planned exclusive write to a shared surface proceed only once every peer is observed parked, beside a compare-and-swap that covers every other write.
- [Two-Direction Index](https://banes-lab.com/records/architecture/two-direction-index.md): A mechanism that generates an index from the directory on every run and checks it both ways, reporting an entry with no file and a file with no entry, with every scan independent of depth.
- [Read-Time Join](https://banes-lab.com/records/architecture/read-time-join.md): A mechanism that lets a caller whose question a live declared scope already covers read that run's published result and its standing, writing nothing, so it cannot deadlock, be orphaned or need cleanup.
- [Declare-Before-Read Order](https://banes-lab.com/records/architecture/declare-before-read-order.md): A mechanism that orders two simultaneous starters without a lock by writing each entry before reading the set, with the start stamp and then the party identity breaking a tie.
- [Positional Slot Resolution](https://banes-lab.com/records/architecture/positional-slot-resolution.md): A mechanism that reads each word of a path by the slot it lands in, so the last dot-segment before a file's extension is always its concern and a folder named after a concern tag resolves as the latest role its depth can legally take.
- [Glob-Resolvable Tree](https://banes-lab.com/records/architecture/glob-resolvable-tree.md): A mechanism that lets one unanchored pattern per concern collect every matching file or folder, at whatever depth it sits.
- [Layer Spine Precedence](https://banes-lab.com/records/architecture/layer-spine-precedence.md): A mechanism that breaks an irreducible tie between two roles in favor of the one nearer the domain on the layer spine.
- [Guided Vocabulary Refusal](https://banes-lab.com/records/architecture/guided-vocabulary-refusal.md): A mechanism that answers a refused word with the declared word that covers its role, looked up in an indexed rejection table.
- [Externally Resolved Slot](https://banes-lab.com/records/architecture/externally-resolved-slot.md): A mechanism that resolves a name slot whose words another source owns against that source, whether an index that allocates identities, an upstream key set or a field the file itself carries, so the closed vocabulary never holds a copy of them.
- [Case Dialect](https://banes-lab.com/records/architecture/case-dialect.md): A mechanism that binds file extensions to the case their language names files in and reads the same subject, variant and concern slots from the stem's word boundaries.
- [Concurrency Control](https://banes-lab.com/records/architecture/concurrency-control.md): A mechanism that coordinates concurrent access to shared state, through locks, versions or compare-and-swap.
