Support auto-scaling cloud services by service bus topic / subscription
At the moment you can only scale by queue size but not topic/subscription size. Given subscriptions can have filters it would be ideal to be able to scale by subscription size and not just general topic size.
This is something that we are looking at. In the meanwhile, there is a workaround to forward the items you want to scale by to a queue and scale by that queue.
Mahadevan Alagar commented
Is there any power shell scripts to auto scale by topic size or any other work around could be appreciated
joe brockhaus commented
Any update on this?
I've attempted to use the 'Other Resource' selection, providing the Resource Id to the NS/Topic/Subscription, selecting "Message Count" (only available option), and the rest of the criteria, the Scale Setting can't be saved, returning: "Failed to save scale setting. Exception of type 'Microsoft.WindowsAzure.Management.Monitoring.MonitoringServiceException' was thrown.".
I'm looking into Forwarding to another queue.. but that doesn't really represent actual load, and then I need to manage items on that queue. So what I really need is something that polls my topic+sub on some interval, and then ensures the 'scaling queue' has the same number of messages on it. I can get closer by setting an arbitrary TTL on the scaling queue messages, but this falls down if the message on the scaler expires before the system is able to pick up the real one (which could cause an undesired scale-in at the wrong time). This all feels silly to even be contemplating.
This seems to be on the Service Bus Team - the new-portal offering is still a very limited preview and doesn't support Alerting yet, either, which would provide an effective method (webhooks) for solving the problem.
James Howe commented
Yeah that's exactly what I am doing at the moment, in fact, I managed to rework my solution to actually use multiple queues instead of a topic w/ subscriptions. However, I know as my application progresses I will eventually need this type of behaviour.