|
|
|
|
|
by threeseed
1013 days ago
|
|
> there has to be a "cross-functional" meeting between teams and a complicated communication layer between the systems Of all the things wrong with micro-services this isn't one of them. The "complicated" communication layer is always either REST/JSON or GRPC. Both of which are simple, easy to debug, proven and require nothing more than a simple discussion over an API contract. |
|
It is, exacerbated by the over-use.
> The "complicated" communication layer is always either REST/JSON or GRPC.
Going over network, which is slower, unreliable, poorly typed. It's orders of magnitude more difficult to refactor a published REST API in comparison to e.g. Java interface within a monolith.
Microservices are generally far from easy to debug. In the best case scenario you have the whole stack locally and can put breakpoints, add logging immediately. But that happens rarely, debug port is often blocked (security), you can't easily modify the code to add some diagnostics without a complex CI dance etc.