Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How will you manage communication between services in a SOA? If you exclusively use point-to-point welcome to spaghetti code.

Our philosophy is to use point-to-point when you absolutely need another service's input to complete your task. Otherwise put a message into the bus. See the Jay Kreps blog post I linked in below.



It's not spaghetti as long as your interfaces are well-defined, is it?

I can see the value in a service locator/registry, but that doesn't seem like a substantial piece of the ESB pitch.

When do you have a fire-and-forget case like you seem to be talking about? I can guess a few secondary concerns like logging, but most of the time if you're calling another service it's because you need a response from that service. At least for the apps I'm used to writing.


I would say "spaghettiness" is pretty much topology - not whether those interfaces are well defined or not, which is pretty much an orthogonal property.

i.e. You can have a poorly defined ESB and a big pile of spaghetti with well defined interfaces. Unfortunately I have seen both!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: