Firefox Home Server Architecture: Difference between revisions

No edit summary
Line 88: Line 88:


=== Sync Worker ===
=== Sync Worker ===
==== Description ====


A Sync Worker is a machine that will sync a user's account.
A Sync Worker is a machine that will sync a user's account.
Line 97: Line 99:
The frequency and scheduling of sync operations is not in control of the Sync Workers. They simply handle sync requests.
The frequency and scheduling of sync operations is not in control of the Sync Workers. They simply handle sync requests.


This is an important part of the infrastructure but there is no need to get extremely high uptime on this part. In case of failures we would simply not sync, which is not something the end user would notice in form of data loss. The data would simply not be up to date.
==== Software Requirements ====
 
The sync client will be written in Python and can be hosted on any flavor of Linux.
 
==== Hardware Requirements ====
 
For these machines, memory is more important than disk. More memory allows us to run more sync processes in parallel.
 
==== Uptime ====
 
This is an important part of the infrastructure but there is no need to get extremely high uptime on this part. In case of failures we would simply not sync, which is not something the end user would notice in form of data loss, but only as a sync that might not have happened on time.
 
Because the workers are driven by a queue, another machine would simply pick up the sync request the next pass.
 
(We could also let the workers ack the sync request so that in case they fail, the original request that was in progress goes back in the queue to be picked up by another worker, but i don't think that is even needed here)


=== Public Sync Services ===
=== Public Sync Services ===
Confirmed users
971

edits