Replies: 5 comments 3 replies
-
Interestingly, I have never disabled Moleculer balancing but I have disabled In my use case I designed a process for a single node in a family of services to receive a initial event which it would fan out into several events which I did not want being handled all by the first node but instead, balanced across all nodes in the family. Disabling |
Beta Was this translation helpful? Give feedback.
-
The only time I've used |
Beta Was this translation helpful? Give feedback.
-
I don't think I'm following this part. We are using both I think we do prefer to keep the balancer disabled as the balancer caused issues for us in the past, and it almost seems more streamlined to still leave the balancer off when using the NATS transit. Perhaps the balancing mechanisms could move more into the transit layer? I think that was part of our issue where if a service had balancer enabled it wouldn't create subscribers for "unbalanced" topic names in NATS. Which meant we couldn't send messages from a service with |
Beta Was this translation helpful? Give feedback.
-
I agree with @dowster. I use |
Beta Was this translation helpful? Give feedback.
-
Based on the feedbacks, I keep the |
Beta Was this translation helpful? Give feedback.
-
Hey guys, I need your feedback regarding the next version of Moleculer.
Is there somebody who uses the
disableBalancer: true
ServiceBroker options? If yes, please describe here or in DM, what's the use case and why are you using it in your project.The reason is that this feature is a little awkward, hard to maintain and manage to be compatible with all other features, and I'm thinking that I will remove it from the ServiceBroker in the next version.
Some history: When this feature was implemented, the aim was to skip the ServiceBroker built-in balancing mechanism and use the transporter-used message-broker (NATS, RabbitMQ) built-in balancing mechanism to cover the situation when the caller node crashed, the action request stays in the message broker and it can retry the request to all consumer nodes. It means it added more reliable action calls. But we developed the moleculer-channels which solves it better and can be used with more message brokers. So if you need reliable action calls, better to use the moleculer-channels.
In brief, the moleculer-channels library covers the reason why the "disableBalancer" feature was created. So, I would like to remove it from the ServiceBroker in the next version.
Thanks in advance for your feedbacks!
Beta Was this translation helpful? Give feedback.
All reactions