News for hackers. Stuff that matters.
Re:Meta’s Microservice Architecture [pdf] by spion on Tuesday July 11, 2023 @06:47AM (#36679123)
A few questions if its the same...

- In case of errors, do we get a full backtrace of function calls across service boundaries?

- Is the function call as cheap as passing an argument? What if we're passing 1KB? 1MB? 1GB?

- Can we use a debugger to step in and out of those functions?

- Can we spin up a simple test runner to integration test a few levels of function calls together? Preferably something like Jest that has a watch mode so we can quickly run dozens of tests?

- Can all database modifications run in a single transaction so that we know that either all of them happened or none at all?

Re:Meta’s Microservice Architecture [pdf] by YetAnotherNick on Tuesday July 11, 2023 @07:28AM (#36679465)
> - In case of errors, do we get a full backtrace of function calls across service boundaries?

Unless you don't discard the error, then yes

> - Is the function call as cheap as passing an argument? What if we're passing 1KB? 1MB? 1GB?

No it is not. In general microservice costs are bit higher.

> Can we use a debugger to step in and out of those functions?

You could trace across services but passing the context. Also attaching debugger is possible afaik.

> Can we spin up a simple test runner to integration test a few levels of function calls together?

I use docker compose and it can be done

> - Can all database modifications run in a single transaction so that we know that either all of them happened or none at all?

Yes. I don't see how this is different than function call.

Re:Meta’s Microservice Architecture [pdf] by jcparkyn on Tuesday July 11, 2023 @08:07AM (#36679822)
> Yes. I don't see how this is different than function call.

If you need atomicity _across services_ it's very different, hence why everyone resorts to eventual consistency and all the associated extra complexity. If there's a decent way to have true transactions that span multiple services, I've certainly never seen it.

Re:Meta’s Microservice Architecture [pdf] by another2another on Thursday July 13, 2023 @04:39AM (#36706436)
You can get Distributed Transaction Coordinators (e.g. MSDTC on Windows), but it will make everything much slower.