The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems
暫譯: 不可變架構的藝術:分散式系統中數據管理的理論與實踐
Perry, Michael L.
買這商品的人也買了...
-
$2,040$1,938 -
$1,414$1,339 -
$1,881Lean Architecture: for Agile Software Development (Paperback)
-
$988Software in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers, And Leave Competitors In the Dust (Paperback)
-
$1,188BDD in Action: Behavior-driven development for the whole software lifecycle (Paperback)
-
$1,850$1,758 -
$1,400$1,330 -
$699Learning React Native: Building Native Mobile Apps with JavaScript (Paperback)
-
$850$808 -
$332架構探險 : 輕量級微服務架構 (上冊)
-
$1,155$1,097 -
$1,584Building Evolutionary Architectures: Support Constant Change (Paperback)
-
$1,940$1,843 -
$990Practical Test-Driven Development using C# 7: Unleash the power of TDD by implementing real world examples under .NET environment and JavaScript
-
$1,560$1,482 -
$1,539Unlocking Agility (Paperback)
-
$2,110$2,005 -
$2,100$1,995 -
$1,330Behavior-Driven Development with Cucumber: Better Collaboration for Better Software
-
$2,380$2,261 -
$1,710Clean Agile : Back to Basics (Paperback)
-
$403分析模式:可復用的對象模型
-
$1,800$1,710 -
$650$455 -
$680$537
商品描述
This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools.
Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists.
This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change.
After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence.
The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assumptions. Start with immutable objects, and build better distributed systems.
What You Will Learn
- Evaluate a distributed system from the perspective of immutable objects
- Recognize the problems in existing designs, and make small modifications to correct them
- Start a new system from scratch, applying patterns
- Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use
- Discover new tools that natively apply these principles
Who This Book Is For
Software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful.
商品描述(中文翻譯)
這本書教你如何從不可變物件的角度評估分散式系統。你將了解現有設計中的問題,知道如何進行小的修改來修正這些問題,並學會將不可變架構的原則應用到你的工具中。
大多數軟體元件專注於物件的狀態。它們儲存關聯式資料庫中一行的當前狀態。它們隨著時間追蹤狀態的變化,做出幾個基本假設:每個物件都有一個最新版本,物件的狀態是順序變化的,並且存在一個記錄系統。
這在構建分散式系統時是一個挑戰。無論是處理自主的微服務還是斷開連接的行動應用程式,我們試圖解決的許多問題都歸結為在孤立元件之間同步不斷變化的狀態。如果物件無法改變,分散式系統的構建將會容易得多。
閱讀完The Art of Immutable Architecture後,你將理解在自己的分散式系統中使用不可變物件的好處。你將學習一套識別和交換不可變物件的規則,並看到一系列有用的定理,這些定理確保我們構建的分散式系統最終是一致的。通過使用模式,你將找到真相的匯聚點,看到變更是關聯的,而不是順序的,並逐漸習慣於理解不再存在單一的真相來源。實用的實作範例強化了如何使用所描述的模式、技術和工具來構建軟體。到最後,你將擁有分析和自信構建分散式系統所需的語言和資源。
過去的假設足以構建單用戶、單電腦系統。但隨著我們擴展到多個設備、共享體驗和雲計算,這些假設卻對我們不利。是時候採用一套新的假設了。從不可變物件開始,構建更好的分散式系統。
你將學到什麼
- 從不可變物件的角度評估分散式系統
- 辨識現有設計中的問題,並進行小的修改來修正它們
- 從零開始建立一個新系統,應用模式
- 將不可變架構的原則應用到你的工具中,包括 SQL 資料庫、消息佇列和你已經使用的網路協議
- 發現原生應用這些原則的新工具
本書適合誰
軟體架構師和資深開發人員。本書包含 SQL 和 JavaScript、C# 等語言的範例。過去在分散式計算、資料建模或商業分析方面的經驗將會有所幫助。
作者簡介
Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com.
作者簡介(中文翻譯)
Michael L. Perry 建立在數學家如 Bertrand Meyer、Leslie Lamport 和 Donald Knuth 的研究基礎上,發展出一套用於軟體開發的數學系統。他將這套系統整理成一系列開源專案。Michael 經常在活動和線上分享有關數學和軟體的演講。您可以在 qedcode.com 獲得更多資訊。