News for hackers. Stuff that matters.
Re:Alchemy Micro-Service Framework: Using RabbitMQ Instead o... by pm90 on Monday March 14, 2016 @08:34PM (#11286669)
Doesn't this make the architecture a lot more complex though? I mean if every service uses a common messaging broker, number of connections to every other service is O(n). While if every microservice needs to talk to every other microservice, its O(n2). And analysis is much harder, unless all the services send their logs/metrics to a common logging/metrics system.
Re:Alchemy Micro-Service Framework: Using RabbitMQ Instead o... by brown9-2 on Monday March 14, 2016 @09:07PM (#11286785)
You shouldn't need every single microservice to talk to every single other microservice. If so, you have a design problem.
Re:Alchemy Micro-Service Framework: Using RabbitMQ Instead o... by grahar64 on Tuesday March 15, 2016 @01:10AM (#11287569)
If you don't have every service talk to every other service then it is either a deployment problem or a load balance problem.

If a service only say talks to instances of another service that is local, then every node in a cluster must contain ALL services. If the local service is overloaded but a remote service isn't then the service you are talking to will be slow, regardless of any front end load balancing.

Every service must be able to talk to every other service, because if it cannot then you cannot load balance or deploy without it being an n^2 problem. So the question is how to implement it WITHOUT complicating the services

Re:Alchemy Micro-Service Framework: Using RabbitMQ Instead o... by sagichmal on Tuesday March 15, 2016 @05:23AM (#11288402)
profilesvc may only need to talk to (depend on) usersvc and accountsvc to do its job. usersvc and accountsvc may only need to talk to (depend on) their data stores.

Yes, every instance of every service needs to manage its communication paths to other services. That's N connections, rather than just 1 to the message bus. But this is a pretty well-understood problem. We have connection pools and circuit breakers and so on. And the risks are distributed, isolated, heterogeneous.