13 ms·
> Microservices - let’s replace as many interfaces as possible with the slowest, flakiest, most complex mechanism - the network layer You do realise that most
by bradhe 4y ago
> Microservices - let’s replace as many interfaces as possible with the slowest, flakiest, most complex mechanism - the network layer
You do realise that most calls to block storage in AWS result in network traffic, right?
The point is, abstraction is your friend.
- naasking 4y ago> The point is, abstraction is your friend. Yes, but the point they were making is that you don't have to abstract across a network boundary. A proper module system and package management can divide work and organization without introducing IPC overheads.
- Retric 4y agoLatency is additive. You get a small window within which people don’t notice and network calls quickly consume all of it. Micro services have a few advantages but unless you desperately need them it’s a huge hit to performance, productivity, and reliability unless it’s your only option. Netflix needed it because of their complicated network architecture with servers distributed inside various ISP’s, why do you?
- sidlls 4y agoOvercomplicated abstraction (e.g., DI frameworks) and unnecessary abstraction are not anyone's friends.
- Sohcahtoa82 4y agoFrom what I understand, DI simply turns this: public class MyClass { private Dep myDep; void MyClass(){ this.myDep = GetDep(); } } into this: public class MyClass { private Dep myDep; void MyClass(Dep dep){ this.myDep = dep; } } Why this needs an entire framework is beyond me. It feels like all they do is convert explicit code into boilerplate which then becomes much harder to reason about.
- confidantlake 4y agoI think the theory is when you want to change the dep you can do it in a config file instead of in the code. But I totally agree, I don't think the value is worth the cost.