6 ms·
The vast majority of IPC already used sockets decades ago, so it was easy to split a composition of services across multiple machines (just change the config fr
by franga2000 4y ago
The vast majority of IPC already used sockets decades ago, so it was easy to split a composition of services across multiple machines (just change the config from unix domain- to network sockets). Anything that ran commands to do things could be wrapped in ssh (for example, that's how I offloaded image processing for a sharing site).
Two layers of DNS records solve the addressing issue: each box gets a static codename with an A record and each service gets a descriptive name with a CNAME record pointing at the box it's on.
When you move a service, change the CNAME to point to the new box. If you have full box replicas/backups, you can also switch the box name or reroute at the IP level. Preferably you're running your own DNS and can issue a flush command to your entire fleet so you're not stuck waiting for propagation.
- AtlasBarfed 4y agoYeah, CORBA / RMI which microservices eschewed for HTTP. I had a joke years ago that the reason HTTP services became so popular was simply because those ports were the only ones open in the firewall, so people used those rather than having to get new ports approved by some convoluted security review.