Strategic and Tactical Design Principles for Technical Architecture
This article explains how to design robust technical architectures by applying strategic principles of suitability, simplicity, and evolution, alongside tactical guidelines for high concurrency, high availability, and business design, and illustrates the concepts with logical and physical architecture diagrams.
Technical architecture transforms product requirements into technical implementations, covering layer separation, framework and language choices (primarily Java), and non‑functional concerns such as security, performance, and big‑data handling.
Strategic design principles consist of three core ideas: the suitability principle (choose the most appropriate technology rather than the newest), the simplicity principle (prefer simple, elegant solutions), and the evolution principle (design for gradual, continuous improvement).
Tactical design principles are divided into three parts:
1. High‑concurrency principle – focus on stateless services, system splitting (by system, function, read/write, AOP, or module), service‑orientation, message queues for decoupling and buffering, data heterogeneity, and multi‑level caching (user, proxy, access, application, and data layers).
2. High‑availability principle – implement centralized degradation switches, tiered read services, front‑end degradation via Nginx+Lua, business‑level degradation, rate‑limiting to protect against malicious traffic, and fast rollback mechanisms for failed releases.
3. Business design principle – ensure idempotency, anti‑duplicate handling, clear workflow definitions, state‑machine modeling, feedback mechanisms for backend operations, approval processes, thorough documentation, and regular backups.
The article also describes how to create technical architecture diagrams , distinguishing between logical (functional) and physical (non‑functional) views, and outlines a three‑step approach: overall system view, detailed subsystem view, and final integrated diagram that shows interactions via services, databases, caches, and messaging.
In conclusion, a well‑planned architecture, guided by these strategic and tactical principles, provides a solid foundation that can evolve with business needs, balancing stability, performance, and maintainability.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Architect's Guide
Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
