10
edits
mNo edit summary |
(binary delta) |
||
Line 63: | Line 63: | ||
''justdave:'' we're already getting several millions of clients, and it's handling it just fine, and we have plenty of infrastructure to scale now. For example, on May 19, there were 9,873,623 hits on the AUS servers. AUS is using DNS round-robining right now (and will soon have a set of load-balancers so multiple servers will share an IP, as well). Bouncer is only used when there's actually an update to retrieve, it's not used for checking for updates. Bouncer also doesn't use SSL (which is why the plan is to have signatures in the RDF file which *is* retrieved via SSL which get verified after download). | ''justdave:'' we're already getting several millions of clients, and it's handling it just fine, and we have plenty of infrastructure to scale now. For example, on May 19, there were 9,873,623 hits on the AUS servers. AUS is using DNS round-robining right now (and will soon have a set of load-balancers so multiple servers will share an IP, as well). Bouncer is only used when there's actually an update to retrieve, it's not used for checking for updates. Bouncer also doesn't use SSL (which is why the plan is to have signatures in the RDF file which *is* retrieved via SSL which get verified after download). | ||
== binary delta == | |||
The license of bsdiff/bspatch looks problematic. It is a «BSD Protection license» , there is nothing about it at the OSI: http://www.opensource.org/licenses/ , it's not GPL compatible, and according to debian-legal - http://lists.debian.org/debian-legal/2003/10/msg00347.html - it isn't a free license anyway. The project is new enough that a license change should be possible, but there are equivalent libs - xdelta seems standard, jojodiff/jdiff is another alternative. | |||
BTW, there is also the very simple rsync (synchronization algorithm and protocol, implemented by librsync). | |||
This is very different in that it requires very little infrastructure. It can be used to synchronize any version of a set of files (all the files, in the app folder, that an xpi would replace or patch) with any other version. The xpi files could then be replaced by just their manifest. To get the data the client synchronises its application directory with the one on the server. | |||
There's still a big question however - I'm not sure how the cpu load grows with the number of clients. |
edits