#amqp #audit #messagebroker
Вопрос:
Я разрабатываю решение для аудита, и одно из нефункциональных требований, связанных с производительностью, гласит, что записи аудита должны создаваться без замедления основного потока, а одно из функциональных требований гласит, что запись аудита должна содержать определенный список полей.
Есть идея иметь брокера сообщений поверх основного приложения и отправлять сообщения туда асинхронно, также есть идея иметь потребителя, который будет прослушивать сообщения от брокера и хранить их в определенной базе данных. Эти несколько новых компонентов должны охватывать NFR, связанные с упомянутой ранее производительностью.
Вопрос в том, как в этом случае могут быть охвачены функциональные требования. На самом деле, как убедиться, что сообщение, отправляемое брокеру сообщений, содержит все необходимые данные, чтобы избежать огромной связи между приложением и брокером сообщений и используется протокол AMQP?