Я создал очередь служебной шины, следуя инструкциям в Документация Microsoft .Я могу отправлять и получать сообщения, однако только половина моих сообщений проходит через них.Буквально половина, только четные.
Я пытался изменить частоту сообщений, но это ничего не меняет.Не имеет значения, отправляю ли я сообщение каждые 3 секунды или 3 сообщения в секунду, я получаю только половину из них на другом конце.
Я выполнил пример кода на всех возможных языках, и у меня естьпопытался использовать REST API и пакетный обмен сообщениями, но без кубиков.
Я также пытался использовать функции Azure с определенным триггером для очередей служебной шины.
Это код функции приема:
module.exports = async function(context, mySbMsg) {
context.log('JavaScript ServiceBus queue trigger function processed message', mySbMsg);
context.done();
};
И это код функции отправки:
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
var azure = require('azure-sb');
var idx = 0;
function sendMessages(sbService, queueName) {
var msg = 'Message # ' + (++idx);
sbService.sendQueueMessage(queueName, msg, function (err) {
if (err) {
console.log('Failed Tx: ', err);
} else {
console.log('Sent ' + msg);
}
});
}
var connStr = 'Endpoint=sb://<sbnamespace>.servicebus.windows.net/;SharedAccessKeyName=<keyname>;SharedAccessKey=<key>';
var queueName = 'MessageQueue';
context.log('Connecting to ' + connStr + ' queue ' + queueName);
var sbService = azure.createServiceBusService(connStr);
sbService.createQueueIfNotExists(queueName, function (err) {
if (err) {
console.log('Failed to create queue: ', err);
} else {
setInterval(sendMessages.bind(null, sbService, queueName), 2000);
}
});
};
Я ожидаю получить большинство отправленных сообщений (особенно в этих условиях вообще без нагрузки), но вместо этого я получаю только 50%.