Learning Architecture from Scratch
About the Book
“Learning Architecture from Scratch” was written by the veteran technology expert Li Yunhua. Rather than simply cataloging architecture patterns, the book starts from the essence of architecture design and puts forward a proven methodology: the “three principles of architecture design” and the “three steps of architecture design.” It explores architecture goals such as high performance, high availability, and scalability in detail, and, through a wealth of case studies, explains how to apply the theory to real-world work — an excellent advanced read for technologists moving from “coder” to “architect.”
Core Concepts
Judging by your learning goals and your 2019-08-20-架构设计.markdown notes from that year, the core content of the book aligns closely with your path of thinking:
- The purpose of architecture design: taming the complexity of software systems.
- Principles of architecture design: suitability, simplicity, and evolution.
- The architecture design process: identify complexity -> design candidate solutions -> evaluate and choose -> detailed design.
- Foundational architecture patterns: layering, SOA, microservices, and more.
- High-performance architecture: caching, load balancing, asynchrony, clustering, and more.
- High-availability architecture: active-passive and master/slave replication, clustering, partitioning, geo-distributed multi-active deployments, and more.
Key Takeaways
You put this book on your study plan in August 2019 and produced dedicated architecture design notes, which shows you had already started thinking about architecture in a systematic way. The book hands you a clear “map,” helping you see what path of reasoning to follow when designing the CDP and DEX architecture diagrams, or even conceptualizing the OTC系统 (OTC system). It strings together the techniques you had touched on piecemeal at work — 缓存 (caching), 集群 (clustering), 消息队列 (message queues) — into one coherent body of knowledge, so that in future technology choices and solution designs you can make well-grounded decisions and understand not just the what, but the why.