| ▲ | Microservices and the First Law of Distributed Objects (2014)(martinfowler.com) | |||||||||||||
| 18 points by pjmlp 4 days ago | 8 comments | ||||||||||||||
| ▲ | rednafi 38 minutes ago | parent | next [-] | |||||||||||||
I dream of a SQL like engine for distributed systems where you can declaratively say "svc A uses the results of B & C where C depends on D." Then the engine would find the best way to resolve the graph and fetch the results. You could still add your imperative logic on top of the fetched results, but you don't concern yourself with the minutiae of resilience patterns and how to traverse the dependency graph. | ||||||||||||||
| ▲ | Havoc an hour ago | parent | prev | next [-] | |||||||||||||
AI has also changed the dynamics around this. Splitting things into smaller components now has a dev advantage because the AI program better with smaller scope | ||||||||||||||
| ||||||||||||||
| ▲ | torginus 38 minutes ago | parent | prev | next [-] | |||||||||||||
> While small microservices are certainly simpler to reason about, I worry that this pushes complexity into the interconnections between services 100% true in retrospect. | ||||||||||||||
| ||||||||||||||
| ▲ | jauntywundrkind 3 hours ago | parent | prev [-] | |||||||||||||
A lot of this first law was specifically coupled to how these systems often hid that distributed objects were distributed. In the past 10 years, async has become far more common place, and it makes the distributed boundary much less like a secret special anomaly that you wouldn't otherwise deal with and far more like just another type of async code. I still thoroughly want to see capnproto or capnweb emerge the third party handoff, so we can do distributed systems where we tell microservice-b to use the results from microservice-a to run it's compute, without needing to proxy those results through ourself. Oh to dream. | ||||||||||||||
| ||||||||||||||