> quadratically increasing formula for failed UPDATEs
I was not aware you could make a number autoincrement with a failed UPDATE.
The problem is that communication between hosts is potentially very expensive. You don't want to have several failed UPDATEs, because that means several failed checks (and thus communications). The fastest way is for all boards to have a method of electing a master. When a post occurs on a board, it makes a single request to the master, which provides a new post number.
This is a bit ugly though, because it causes problems when host A is receiving post 1001 from host B and 1002 from host C, yet host B is amazingly slow, so 1002 arrives first. Now what? Update the site with a hole in the middle? Wait for B to finish? Or...?
> What is your current idea of an architecture?
A set of equal hosts, who pass posts and deletions among each other, as well as actual image requests from users. This also includes lists of posts and images if a host has become desynchronized with the rest, so it can catch up. I suppose you could add seeds to the mix as well, since they're trivial to add compared to the actual boards.
Needless to say, this results in all sorts of race cases, security issues, and problems caused by latency hiding. Latency hiding and having no central point of failure causes most of the problems, yet people won't post to a slow or unreliable board, so those problems must be solved.
Well, ideas are a dime a dozen. Actually coding it is quite another story. ;_;