3 ms·
I see a bit of their reasoning. Taking from the article: "When you have an environment with 20+ services, code sharing, maintenance and following updates becom
by guhcampos 7y ago
I see a bit of their reasoning. Taking from the article:
"When you have an environment with 20+ services, code sharing, maintenance and following updates become problematic. At Allegro we had the chance to find it out. It’s better to take out dependencies from business services as much as possible."
By adopting something like Hermes you are not really "taking out" a dependency, but abstracting it - as you said. Yet, by talking HTTP to the message broker you are abstracting away Kafka from your developers and your code. One less lib to depend on for each language you have in your architecture. One less version to control among your services, etc.
- gcb0 7y agoif you already have http clients on all you components. and it's not like bindings for kafka is that much uncommon than a decent http client.
- joesb 7y agoYou can use HTTP client to contact any HTTP compatible service. You can only use Kafka client to connect to Kafka. That sounds like a tautology but it's practical. There is way higher chance that you can make any of your future service response speak HTTP, than all of them speaking Kafka. If you add HTTP client libs today, there's higher chance of reuse than adding Kafka libs.