For decades we have broken the implementation of larger applications up into components. A hot topic at the moment is the creation of independently-deployable components that communicate via network protocols, most commonly HTTP—so-called "microservices". If two components are communicating via HTTP, you have two options. The first is to link them directly via TCP. The second is to broker the connection through an API gateway. If you broker the communication through a gateway, you will pay a performance penalty, but in return you will get API management functions such as logging and metrics for message traffic, security checks, traffic control and so on. If you allow them to connect directly, it will be more efficient, but it will be more difficult to get visibility into message traffic or to affect it.
What do you do in your environments? If you have not yet deployed microservices, what do you think you will do? Do you value the function that API gateways bring to microservices, or do you prefer "raw" TCP communication between components?
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |