kune
Joined 9 years ago
Joined 9 years ago
> To protect against the loss of an entire region due to natural disaster, have a disaster recovery plan and know how to bring up your application in the unlikely event that your primary region is lost.
> The regions Stockholm, Osaka, and Montreal have three zones housed in one or two physical data centers.
See here: https://docs.cloud.google.com/docs/geography-and-regions
2023 europe-west9 incident: https://www.datacenterdynamics.com/en/news/water-leak-at-par...
I remember being challenged to learn about the file system. All I was told was, use the man command. I knew CP/M, or better the East-German clone SCP, but that OS didn't know directories. I had to learn the concept from the man pages. There were no UNIX books in libraries or book stores. But it was fun, I managed to write a simple compression program doing run-length encoding on that system.
But generally I would agree that if you need to code parallel execution, channels are a good way to do it, because you can avoid race conditions if you share data only over channels. The biggest problem is that a lot of people don't understand, that channels with a buffer larger than 1 are a sign of problems in the architecture.
There is a type of parallel programming with workers for specific functions, that always leads to performance issues. The problem is you need to right-guess the distribution of work, when you have to define the amount of workers for a specific function. At least one go routine for one request is a much better approach than function-specific workers.
For the case here the server should call shutdown with SHUT_WR after sending the data and then drain the incoming data before closing the socket.
If Google has forgotten how to do Software, than the future doesn't look bright.
Nothing beats people knowing what they are doing and cleaning up behind them.