Strategic and Tactical Design Principles for Technical Architecture
This article explains how to design robust technical architectures by addressing strategic principles such as suitability, simplicity, and evolution, and tactical guidelines covering high concurrency, high availability, and business design, while illustrating logical and physical architecture diagrams for real‑world systems.
Technical architecture transforms product requirements into concrete technology solutions, addressing layering, framework selection, language choice (primarily Java), and non‑functional concerns like security, performance, and big data.
The biggest challenge is uncertainty: whether to adopt the latest technologies or stick with familiar ones, and how to handle future evolution.
Strategic layer principles focus on suitability (choosing the most appropriate technology rather than the newest), simplicity (favoring the simplest solution that meets requirements), and evolution (designing for continuous improvement rather than a one‑time perfect solution).
Tactical layer principles are divided into three parts: high‑concurrency, high‑availability, and business‑design guidelines.
High‑concurrency principles include:
Stateless design to enable horizontal scaling.
Splitting systems by function, feature, read/write patterns, AOP, or module.
Service‑oriented architecture with progressive service registration and discovery.
Message queues for decoupling, traffic buffering, and eventual consistency.
Data heterogeneity to handle diverse data sources.
Caching at user, proxy, access, application, and data layers.
High‑availability principles cover degradation (centralized feature switches, read‑only fallbacks, Nginx+Lua routing), rate limiting (protecting against malicious traffic), and quick rollback to previous stable versions.
Business‑design principles emphasize idempotency, anti‑duplicate design, workflow definition, state machines, feedback mechanisms, approval processes, documentation, and backup strategies.
Two types of architecture diagrams are presented: logical (functional) diagrams that map technical components to product features, and physical (non‑functional) diagrams that show network, cluster, middleware, and storage deployment.
The article concludes that good architecture requires both careful planning and continuous evolution, balancing long‑term lifecycle considerations with practical constraints.
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.
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
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.
