1. Отправка пакетов данных JSON брокерам сообщений (очереди ActiveMQ, RabbitMQ или JMS):
- Отправляет примерно 25 000 пакетов данных JSON каждые 2 минуты (данные размер может варьироваться от 25 000 до 20 000 000).
- Этот процесс выполняется асинхронно.
- Одновременно работает 21 различная служба, все работают асинхронно и в одном режиме. базу данных.
- Каждая служба имеет 10-минутный интервал ожидания после отправки пакета.
Новое требование:
Теперь мне нужно реализовать аудит каждого пакета данных, передаваемого брокеру. В частности, мне нужно регистрировать каждую запись в базе данных SQL с отметкой времени, указывающей, когда она была отправлена.Задачи:
- < li>Объем обрабатываемых данных значителен, и время простоя базы данных SQL неприемлемо.
- Решение должно эффективно обрабатывать высокую пропускную способность, не становясь узким местом для операций отправки в очередь.< /li>
- Реализацию простой службы «запустил и забыл», используя асинхронные возможности C# для регистрации данных в SQL. Однако я не уверен, сможет ли он эффективно справиться с нагрузкой.
- Использование библиотеки фоновой обработки заданий, такой как Hangfire, для переноса аудита в отдельный рабочий процесс.
Я еще не завершил подход и открыт другим идеям или улучшениям. Будем очень признательны за любые предложения и идеи.
Подробнее здесь: https://stackoverflow.com/questions/792 ... service-in
Мобильная версия