У нас есть приложение, которое регистрирует файлы, которые в данный момент используют streamwriter. Поскольку мы рассматриваем масштабирование приложения, мешает блок регистрации. Приложение является многопоточным и может работать с числом потоков, исчисляемым тысячами. Количество потоков не влияет на процессор, так как большая часть обязанностей заключается в обработке TCP-сокетов на лету. Но ведение журнала является проблемой, так как здесь происходит сближение, и производительность отдельных потоков в данном случае влияет на его TAT.
Я хотел бы получить от всех вас информацию о том, какую архитектуру / дизайн можно использовать для регистрации.
Я думаю об использовании базы данных в качестве приемника журналов. Но у автора должен быть механизм блокировки, который я чувствую. Я не думаю, что я должен пытаться создать большое количество регистраторов в потоках. Еще один вариант, который я собираюсь сделать, это создать пул поверх регистратора.
Должен ли я также взглянуть на технологии MSMQ для быстрого перемещения трафика?