3 ms·
> When this converts to a Micro Service its failure space increases by an order of magnitude without expressing it in the interface. I think you just emphasize
by bunderbunder 12y ago
> When this converts to a Micro Service its failure space increases by an order of magnitude without expressing it in the interface.
I think you just emphasized a bit that, in principle, should never be allowed to happen. When Team Email switches to a service their interface has changed, period. In some idealized sense the contract they implement is the same, sure, but an interface that allows for the possibility of timeouts, down servers, lost packets, etc. is fundamentally different from one that doesn't, and you can't (or at least shouldn't) use the same code to interact with the two. Ideally, the compiler wouldn't even let you try - and in a good type-safe language, this is accomplished if Team Email swaps out the interface they're implementing when they go service.
- tel 12y agoOh totally agreed! I was bothered that the essay emphasized doing this without "changing the interface"! At least not the types.