/// <summary>
 /// Publish the message to the scaleout so that other servers can receive it
 /// </summary>
 /// <param name="message"></param>
 public override async Task Publish(MessageDirection direction, IMessage message, ScaleOutOrigin scaleOutOrigin)
 {
     if (!InitSuccess) return;
     try
     {
         await ScaleToMongoDb(message);
     }
     catch (Exception ex)
     {
         Composable.GetExport<IXLogger>().Error(ex, "Failed to publish in MongoDB ScaleOut");
     }
 }        
 public override async Task Publish(MessageDirection messageDirection, IMessage message, ScaleOutOrigin scaleOutOrigin)
 {
     Composable.GetExport<IXLogger>().Information("Scaling PUBLISH");
     await _topicClient.SendAsync(GetBrokerMessage(message));
 }
        public override async Task Publish(MessageDirection direction, IMessage message, ScaleOutOrigin scaleOutOrigin)
        {
            //Deny autoscaling
            if (scaleOutOrigin == ScaleOutOrigin.Auto) return;

            Composable.GetExport<IXLogger>().Debug("Azure ServiceBus Scaling - PUBLISH {@m}", message);
            await _topicClient.SendAsync(GetBrokerMessage(message));
        }