On 2022, Jun 28, at 9:33 AM, Dan Cross <crossd(a)gmail.com> wrote:
On Tue, Jun 28, 2022 at 8:46 AM Rob Pike <robpike(a)gmail.com> wrote:
One of the reasons I'm not a networking
expert may be relevant here.
With networks, I never found an abstraction to hang my hat on.
My theory is that networking is different because it breaks all the time.
One can get away with writing local file system programs without checking the return codes
on every single call and figuring out what you should do in the case of every possible
error.
It is much harder to get away with that sort of thing when writing network applications.
And of course there is a long history of things that look like file systems but which have
network failure modes, and treating them like they are reliable often does not end well.
Full up reliable applications with replicated storage and multiple network availability
zones and raft/paxos/byzantine generals level coding are pretty arcane.
I know I am not qualified to write one.
File systems are “good enough” that you can depend on them, mostly. Networks are not.
-L