软件架构难点解惑(影印版)
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani
出版时间:2023年03月
页数:440
“本书是所有构建现代分布式系统的架构师的必读之作。”
——Aleksandar Serafimoski
Thoughtworks首席顾问

在软件架构中没有哪个决定是轻而易举的。相反,有许多艰难的部分,要么是难题,要么是缺少最佳实践,这迫使你在各种妥协中做出选择。通过本书,你将学会如何批判性地思考分布式架构的利弊。
软件架构老兵和实践顾问Neal Ford、Mark Richards、Pramod Sadalage、Zhamak Dehghani讨论了选择适合架构的策略。全书交织着一群虚构的技术专业人员(Sysops Squad)的故事,他们研究了从如何确定服务粒度、管理工作流和编排、管理和解耦契约、管理分布式事务到如何优化可扩展性、弹性和性能等操作特性的一切问题。
本书通过关注常见的问题,提供了一些技巧,帮助你在面对架构问题时进行权衡。
● 分析权衡并有效记录你的决策
● 作出更好的服务粒度决策
● 理解拆分单体应用的复杂性
● 管理和解耦服务之间的契约
● 在高度分布式架构中处理数据
● 学习在分解应用时的工作流和事务管理模式
  1. Preface
  2. 1. What Happens When There Are No “Best Practices”?
  3. Why “The Hard Parts”?
  4. Giving Timeless Advice About Software Architecture
  5. The Importance of Data in Architecture
  6. Architectural Decision Records
  7. Architecture Fitness Functions
  8. Architecture Versus Design: Keeping Definitions Simple
  9. Introducing the Sysops Squad Saga
  10. Part I. Pulling Things Apart
  11. 2. Discerning Coupling in Software Architecture
  12. Architecture (Quantum | Quanta)
  13. Sysops Squad Saga: Understanding Quanta
  14. 3. Architectural Modularity
  15. Modularity Drivers
  16. Sysops Squad Saga: Creating a Business Case
  17. 4. Architectural Decomposition
  18. Is the Codebase Decomposable?
  19. Component-Based Decomposition
  20. Tactical Forking
  21. Sysops Squad Saga: Choosing a Decomposition Approach
  22. 5. Component-Based Decomposition Patterns
  23. Identify and Size Components Pattern
  24. Gather Common Domain Components Pattern
  25. Flatten Components Pattern
  26. Determine Component Dependencies Pattern
  27. Create Component Domains Pattern
  28. Create Domain Services Pattern
  29. Summary
  30. 6. Pulling Apart Operational Data
  31. Data Decomposition Drivers
  32. Decomposing Monolithic Data
  33. Selecting a Database Type
  34. Sysops Squad Saga: Polyglot Databases
  35. 7. Service Granularity
  36. Granularity Disintegrators
  37. Granularity Integrators
  38. Finding the Right Balance
  39. Sysops Squad Saga: Ticket Assignment Granularity
  40. Sysops Squad Saga: Customer Registration Granularity
  41. Part II. Putting Things Back Together
  42. 8. Reuse Patterns
  43. Code Replication
  44. Shared Library
  45. Shared Service
  46. Sidecars and Service Mesh
  47. Sysops Squad Saga: Common Infrastructure Logic
  48. Code Reuse: When Does It Add Value?
  49. Sysops Squad Saga: Shared Domain Functionality
  50. 9. Data Ownership and Distributed Transactions
  51. Assigning Data Ownership
  52. Single Ownership Scenario
  53. Common Ownership Scenario
  54. Joint Ownership Scenario
  55. Service Consolidation Technique
  56. Data Ownership Summary
  57. Distributed Transactions
  58. Eventual Consistency Patterns
  59. Sysops Squad Saga: Data Ownership for Ticket Processing
  60. 10. Distributed Data Access
  61. Interservice Communication Pattern
  62. Column Schema Replication Pattern
  63. Replicated Caching Pattern
  64. Data Domain Pattern
  65. Sysops Squad Saga: Data Access for Ticket Assignment
  66. 11. Managing Distributed Workflows
  67. Orchestration Communication Style
  68. Choreography Communication Style
  69. Trade-Offs Between Orchestration and Choreography
  70. Sysops Squad Saga: Managing Workflows
  71. 12. Transactional Sagas
  72. Transactional Saga Patterns
  73. State Management and Eventual Consistency
  74. Techniques for Managing Sagas
  75. Sysops Squad Saga: Atomic Transactions and Compensating Updates
  76. 13. Contracts
  77. Strict Versus Loose Contracts
  78. Stamp Coupling
  79. Sysops Squad Saga: Managing Ticketing Contracts
  80. 14. Managing Analytical Data
  81. Previous Approaches
  82. The Data Mesh
  83. Sysops Squad Saga: Data Mesh
  84. 15. Build Your Own Trade-Off Analysis
  85. Finding Entangled Dimensions
  86. Trade-Off Techniques
  87. Sysops Squad Saga: Epilogue
  88. A. Concept and Term References
  89. B. Architecture Decision Record References
  90. C. Trade-Off References
  91. Index
书名:软件架构难点解惑(影印版)
国内出版社:东南大学出版社
出版时间:2023年03月
页数:440
书号:978-7-5766-0591-4
原版书书名:Software Architecture: The Hard Parts
原版书出版商:O'Reilly Media
Neal Ford
 
Neal Ford是Thoughtworks公司的总监、软件架构师和meme wrangler。
 
 
Mark Richards
 
Mark Richards是一位经验丰富的软件架构师,他参与了微服务架构、事件驱动架构和其他分布式架构的架构、设计和实现。
Mark Richards is an accomplished author and conference speaker working as a handson SOA and enterprise architect in the financial services industry. In addition to numerous published articles, he is the author of Java Transaction Design Strategies (C4Media), contributing author of 97 Things Every Software Architect Should Know (O’Reilly), and contributing author of No Fluff, Just Stuff Anthology Volumes 1 and 2
(Pragmatic Bookshelf). He is a recognized authority on messaging, Service-Oriented Architecture, and transaction management. Mark is a regular speaker on the NFJS
Software Symposium series and speaks at conferences around the world.
 
 
Pramod Sadalage
 
Pramod Sadalage是Thoughtworks的数据及DevOps总监,他擅长应用程序开发、敏捷数据库开发、演进式数据库设计、算法设计和数据库管理。
 
 
Zhamak Dehghani
 
Zhamak Dehghani是Thoughtworks的技术总监。她专注于企业中的分布式系统和数据架构领域,是多个技术咨询委员会的成员,包括Thoughtworks的技术委员会。Zhamak倡导一切事物的去中心化,包括架构、数据等。她是DataMesh的创始人。
 
 
The animal on the cover of Software Architecture: The Hard Parts is a black-rumped golden flameback woodpecker (Dinopium benghalense), a striking species of woodpecker found throughout the plains, foothills, forests, and urban areas of the Indian subcontinent.
This bird’s golden back is set atop a black shoulder and tail, the reason for its pyroinspired name. Adults have red crowns with black-and-white spotted heads and breasts, with a black stripe running from their eyes to the back of their heads. Like other common, small-billed woodpeckers, the black-rumped golden flameback has a straight pointed bill, a stiff tail to provide support against tree trunks, and four-toed feet—two toes pointing forward and two backward. As if its markings weren’t distinctive enough, the black-rumped golden flameback woodpecker is often detected by its call of “ki-ki-ki-ki-ki,” which steadily increases in pace.
This woodpecker feeds on insects, such as red ant and beetle larvae, underneath tree bark using its pointed bill and long tongue. They have been observed visiting termite mounds and even feeding on the nectar of flowers. The golden flameback also adapts well to urban habitats, subsisting on readily available fallen fruit and food scraps.
购买选项
定价:138.00元
书号:978-7-5766-0591-4
出版社:东南大学出版社