广义同步的局限:架构、权衡与决策因素的分类体系

Lobsters Hottest 论文

摘要

本论文来自阿尔托大学,提出了同步架构的分类体系,分析了权衡与决策因素,以指导广义同步引擎的设计。

<p><a href="https://lobste.rs/s/mfyfvq/limits_generalized_sync_ataxonomy">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/25 19:16

Abstract (English) Abstract (Finnish) Acknowledgements Declaration of AI Use Table of Contents Symbols and abbreviations 1. Introduction 1.1. Research gap 1.2. Research questions 1.3. Scope and definitions 1.4. Contributions 1.5. Thesis structure 2. From distributed systems to sync engines 2.1. Distributed systems foundations 2.1.1. Clocks 2.1.2. Consistency models 2.1.3. CAP theorem and PACELC 2.1.4. The end-to-end argument 2.2. Data synchronization 2.2.1. Optimistic replication 2.2.2. Traditional request-response 2.2.3. Client-side caching 2.2.4. Offline-first, local-first, and CRDT-based synchronization 2.3. Local-first software 2.3.1. The local-first manifesto 2.3.2. Conflict-free replicated data types 2.4. Sync engine landscape 2.4.1. Defining sync engines 2.4.2. History of sync engines 2.4.3. Current landscape 2.5. Complexity and abstraction theory 2.5.1. Essential versus accidental complexity 2.5.2. Leaky abstractions 2.5.3. Information hiding and module boundaries 2.6. Related work 2.7. Summary 3. Research Approach 3.1. Research questions and scope 3.2. Literature review method 3.3. Analytical framework 3.4. Practitioner content corpus 3.4.1. Source identification 3.4.2. Corpus composition 3.4.3. Speaker coverage 3.4.4. Processing pipeline 3.5. Semi-structured interviews 3.5.1. Participant groups and rationale 3.5.2. Recruitment 3.5.3. Participants 3.5.4. Interview protocol 3.6. Framework application and triangulation 3.6.1. Coding procedure 3.6.2. Triangulation results 3.7. Case study method 3.7.1. Implementation approach 3.7.2. Evidence 3.7.3. Analysis 3.8. Summary 4. Synchronization Pattern Taxonomy 4.1. Classification methodology 4.1.1. Existing approaches to sync engine classification 4.1.2. Approach taken in this thesis 4.1.3. Scope and engines classified 4.2. Taxonomy dimensions 4.2.1. Offline capability 4.2.2. Integration depth 4.2.3. Authority model 4.2.4. Partial replication 4.2.5. Conflict resolution strategy 4.2.6. Read/write path architecture 4.2.7. Sync unit 4.2.8. Network topology 4.3. Classifying sync engines 4.4. Sync engine clusters 4.5. Summary 5. Trade-offs and Limits 5.1. Technical trade-offs 5.1.1. Consistency versus responsiveness 5.1.2. Read-path and write-path generalizability 5.1.3. Integration depth and incremental adoption 5.1.4. Authorization converges on server enforcement 5.1.5. Partial replication: flexibility and operational cost 5.1.6. Conflict resolution in practice 5.1.7. Hidden integration costs 5.2. Limits of generalization 5.2.1. Authorization as a hard limit 5.2.2. Global invariants and data volume boundaries 5.2.3. Write-path resistance to generalization 5.2.4. Browser platform immaturity 5.2.5. Partial sync and networking as unsolved layers 5.3. Summary 6. Application Fitness and Decision Factors 6.1. Application type fitness 6.1.1. Offline field applications 6.1.2. Real-time B2B productivity tools 6.1.3. Collaborative editing applications 6.1.4. Transactional applications 6.1.5. Data-intensive and analytics applications 6.1.6. Real-time read reactivity without offline 6.2. Decision factors from practitioner evidence 6.2.1. Speed and developer experience as adoption drivers 6.2.2. Existing backend compatibility and migration path 6.2.3. The offline requirement as binary filter 6.2.4. Ecosystem maturity and risk tolerance 6.2.5. Abstraction level 6.2.6. Build versus buy as the primary competitor 6.3. Summary 7. Implementation Case Study: Adopting Zero at Teamspective 7.1. Context and motivation 7.2. Decision process 7.3. Scope 7.4. Zero's schema and authorization

相似文章

How Factorio Syncs A Million Objects over the network

Lobsters Hottest

The article analyzes Factorio's deterministic lockstep architecture, explaining how it synchronizes millions of entities by transmitting inputs rather than state snapshots, utilizing custom math libraries and PRNG normalization to ensure bitwise consistency across platforms.