SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
State
You’re Building a Distributed System!
Mike Pack
@mikepack_
@mikepack
State
State
Ephemeral State
Permanent State
…
Ephemeral State
Local to the user’s browser.
Cleared on page refresh.
Not persisted to a server.
Permanent State
Persisted to a server.
Written to disk.
State in Ember
Application
Memory
(Ephemeral)
Application
Memory
(Ephemeral)
Ember Data
Application
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Ember Data
Application
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
Application
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
HTTP
Disk
(Permanent)
Server
Application
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
HTTP
Disk
(Permanent)
Server
Application
State
Ephemeral State
Permanent State
…
State
Ephemeral State
Permanent State
Semipermanent State
Lives in the browser.
Transitory.
Written to disk.
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
HTTP
Disk
(Permanent)
Server
Application
Disk
(Semipermanent)
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
IndexedDB
Ember Data
HTTP
Disk
(Permanent)
Server
Application
Synchronization
Server
HTTP
Browser
2xx
Server
HTTP
Browser
2xx
Server
HTTP
Browser
2xx
Server
HTTP
Browser
2xx
Server
HTTP
Browser
Disk
(Semipermanent)
IndexedDB
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
HTTP
Disk
(Permanent)
Server
1
2
3
Application
Browser Server
Computer A Computer B
Computer A Computer B
Computer C
Computer A
Computer B
Computer CComputer D
Computer N
CAP Theorem
CAP Theorem
Consistency
Availability
Partition Tolerance
Consistency
All nodes have the same data.
Browser Server
Consistent
Browser Server
Inconsistent
Availability
The software is fully functional.
Browser Server
Available
Browser Server
Unavailable
Browser Server
Available
IndexedDB
(Semipermanent)
Partition Tolerance
The choice between being
consistent or available.
Computers will fail.
Browser Server
Unavailable + Consistent
Browser Server
Available + Inconsistent
IndexedDB
(Semipermanent)
Going Offline
Disk
(Semipermanent)
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
IndexedDB
Ember Data
HTTP
Disk
(Permanent)
Server
Application
Back Online, Time to Sync
Disk
(Semipermanent)
IndexedDB
Memory (DS.Store)
(Ephemeral)
Memory
(Ephemeral)
Browser
Ember Data
HTTP
Disk
(Permanent)
Server
Application
CouchDB + PouchDB
Firebase
Orbit.js
CRDTs
Why This Matters
Go offline
Minimize data loss
Zero latency UIs
WIP (Work in Progress)
Thanks!
@mikepack_
@mikepack

Contenu connexe

Similaire à You're Building a Distributed System!

vSphere APIs for performance monitoring
vSphere APIs for performance monitoringvSphere APIs for performance monitoring
vSphere APIs for performance monitoring
Alan Renouf
 
Caching in a multilanguage environment
Caching in a multilanguage environmentCaching in a multilanguage environment
Caching in a multilanguage environment
elliando dias
 
Data core makes_ha_nas_practical_20mar12
Data core makes_ha_nas_practical_20mar12Data core makes_ha_nas_practical_20mar12
Data core makes_ha_nas_practical_20mar12
jelenaveskovic
 
Webuquerque Web Hosting
Webuquerque Web HostingWebuquerque Web Hosting
Webuquerque Web Hosting
dmthompson
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
jward5519
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
jward5519
 

Similaire à You're Building a Distributed System! (20)

Computer basics--basic comp-oper
Computer basics--basic comp-operComputer basics--basic comp-oper
Computer basics--basic comp-oper
 
Docker bdxio
Docker bdxioDocker bdxio
Docker bdxio
 
Downloading a Billion Files in Python
Downloading a Billion Files in PythonDownloading a Billion Files in Python
Downloading a Billion Files in Python
 
Java File I/O Performance Analysis - Part I - JCConf 2018
Java File I/O Performance Analysis - Part I - JCConf 2018Java File I/O Performance Analysis - Part I - JCConf 2018
Java File I/O Performance Analysis - Part I - JCConf 2018
 
computer hardware component.pdf
computer hardware component.pdfcomputer hardware component.pdf
computer hardware component.pdf
 
vSphere APIs for performance monitoring
vSphere APIs for performance monitoringvSphere APIs for performance monitoring
vSphere APIs for performance monitoring
 
Chapter03 Of It .... BBa 1st
Chapter03 Of It .... BBa 1st Chapter03 Of It .... BBa 1st
Chapter03 Of It .... BBa 1st
 
Caching in a multilanguage environment
Caching in a multilanguage environmentCaching in a multilanguage environment
Caching in a multilanguage environment
 
Data core makes_ha_nas_practical_20mar12
Data core makes_ha_nas_practical_20mar12Data core makes_ha_nas_practical_20mar12
Data core makes_ha_nas_practical_20mar12
 
Computer_Troubleshooting.ppt
Computer_Troubleshooting.pptComputer_Troubleshooting.ppt
Computer_Troubleshooting.ppt
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
Software and its types
Software and its typesSoftware and its types
Software and its types
 
Webuquerque Web Hosting
Webuquerque Web HostingWebuquerque Web Hosting
Webuquerque Web Hosting
 
2021_0825-DAT_Slide-Deck.pdf
2021_0825-DAT_Slide-Deck.pdf2021_0825-DAT_Slide-Deck.pdf
2021_0825-DAT_Slide-Deck.pdf
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
 
XPDS13: Performance Evaluation of Live Migration based on Xen ARM PVH - Jaeyo...
XPDS13: Performance Evaluation of Live Migration based on Xen ARM PVH - Jaeyo...XPDS13: Performance Evaluation of Live Migration based on Xen ARM PVH - Jaeyo...
XPDS13: Performance Evaluation of Live Migration based on Xen ARM PVH - Jaeyo...
 
Caching Data For Performance
Caching Data For PerformanceCaching Data For Performance
Caching Data For Performance
 
Vmwareperformancetroubleshooting 100224104321-phpapp02 (1)
Vmwareperformancetroubleshooting 100224104321-phpapp02 (1)Vmwareperformancetroubleshooting 100224104321-phpapp02 (1)
Vmwareperformancetroubleshooting 100224104321-phpapp02 (1)
 

Dernier

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 

Dernier (20)

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 

You're Building a Distributed System!