News for hackers. Stuff that matters.
Re:Goodbye Microservices: From 100s of problem children to 1... by ljw1001 on Tuesday July 10, 2018 @03:17PM (#17501240)
what happens when the java code breaks the c code? Or does everyone roll-their-own everything in each language?
Re:Goodbye Microservices: From 100s of problem children to 1... by acroback on Tuesday July 10, 2018 @04:25PM (#17501804)
This means either your contract agreement between services is not language agonistic or someone did not do their job when Interface schema was changed during reviews.

Just like any other software, interfaces live in separate repos e.g protoplasm/ for proto-buf definitions. avrobber/ for avro and so on so forth.

So, any change to protoplasm/ triggers automated tests on all other services irrespective of boundaries.

Re:Goodbye Microservices: From 100s of problem children to 1... by ljw1001 on Tuesday July 10, 2018 @05:10PM (#17502202)
ok. But _much_ easier to have compile time checking between projects in the same language/repo. Not saying this approach is wrong, but it's a little like riding a unicycle when a perfectly good bicycle is sitting right there.
Re:Goodbye Microservices: From 100s of problem children to 1... by acroback on Tuesday July 10, 2018 @09:11PM (#17503661)
I think I did not present this correctly, I apologize for that.

What I mean this this. Any IDL interfaces live at their functional boundaries. e.g all proto definitions shared internally by java services live under jumanji/proto/, all proto definitions shared internally bu Go service live under goat/proto/ and so on so forth.

But anything which is shared in a public manner e.g any proto definitions between Java and C live outside either of these repos in top level common_proto/ repo. The build system is configured to take care of pulling the correct proto version from common_proto repo.

We use maven for this, but nothing much we can do about that. Build systems are ugly and we have to live with maven in near future.

EDIT: Oh that said, stop using required field in protobufs if you are stuck using proto2 like us, whoever decided to add required field to proto2 grammar made a mess. Things change and deprecate repeatedly, gazillions of required fields are annoying and recipe for disaster.

Re:Goodbye Microservices: From 100s of problem children to 1... by otterlicious on Tuesday July 10, 2018 @08:35PM (#17503468)
It's much easier to drive a car than an 18 wheel truck too, but the latter have their uses.