8 ms·
Request/Reply pattern makes a poor choice for communication between services - it increases coupling. It doesn't matter much if it comes with HTTP or any other
by persei8 12y ago
Request/Reply pattern makes a poor choice for communication between services - it increases coupling. It doesn't matter much if it comes with HTTP or any other flavour.
Again, Jeppe nails it in very detailed post: http://www.tigerteam.dk/2014/microservices-its-not-only-the-size-that-matters-its-also-how-you-use-them-part-3/ http://www.tigerteam.dk/2014/microservices-its-not-only-the-...
- PeterGriffin 12y agoThe post talks about synchronous communication increasing temporal coupling. There's nothing in sending a request and getting a response that's increasing coupling in a traditional sense, and often there's no much of an alternative anyway, if you want donuts, you'll have to request donuts, and then receive donuts. While I dislike shoving HTTP everywhere for many reasons (reminds me of XML abuse), HTTP is not synchronous, nor asynchronous. It's a protocol sent over a socket. Synchronicity is not the domain of HTTP at all. It's up to the application how it does it. Additionally, the response can always be a blank acknowledgement of the received request. There are very few cases where you just want to go forward blindly without even receiving an ACK about your request at some level (or alternatively, an error), because sometimes things fail.
- IanCal 12y agoI feel somewhat petty for this complaint as the content is good, but I found that link almost unreadable. It felt like someone awkwardly shouting random words in sentence, having every other word wrapped in <strong></strong>. If anyone else finds this, here's a quick thing to paste into the developer console to make it more readable (the content is worth it): var jq = document.createElement('script'); jq.src = "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"; document.getElementsByTagName('head')[0].appendChild(jq); $("strong").each(function(i,e) {$(e).replaceWith($("<span>" + e.innerHTML + "</span>"))})
- meowface 12y agoJust wanted to say I completely agree. The extremely heavy bolding is very distracting.