Я запускаю приложение, которое состоит из облачных функций Google, запускаемых темами PubSub, поэтому в основном они общаются друг с другом через Google PubSub.
Проблема в том, что он может иногда сталкиваться с трудностями и показывать задержки при публикации сообщений до 9 или более. Я проверил Metrics Explorer и обнаружил, что при больших задержках он показывает следующие ошибки:
- unreachable_5xx_error_500
- unreachable_no_response
- internal_rejected_error
- unreachable_5xx_error_503
- url_4xx_error_429
Вот диаграмма, показывающая задержки:
Пример кода сообщения публикации Функция Google Cloud:
const {PubSub} = require('@google-cloud/pubsub');
const pubSubClient = new PubSub();
async function publishMessage() {
const topicName = 'my-topic';
const dataBuffer = Buffer.from(data);
const messageId = await pubSubClient.topic(topicName).publish(dataBuffer);
console.log(`Message ${messageId} published.`);
}
publishMessage().catch(console.error);
Пример кода функции, запущенной PubSub Topi c:
exports.subscribe = async (message) => {
const name = message.data
? Buffer.from(message.data, 'base64').toString()
: 'World';
console.log(`Hello, ${name}!`);
}
И я думаю, что это приводит к задержкам. Я не нашел ничего по этому поводу в inte rnet, поэтому я надеюсь, что вы сможете объяснить, что вызывает эти ошибки и почему, и, вероятно, может помочь с этим.