Надежный (долговечный) механизм распределенного каротажа - PullRequest
5 голосов
/ 05 декабря 2009

Попытка найти коммерческую структуру ведения журналов для распределенных систем. Эта структура должна позволять приложениям .NET на удаленном сервере регистрировать сообщения, которые затем могут быть собраны в центральном расположении. По возможности центральное расположение должно хранить сообщения в базе данных SQL Server.

Требования:

  1. Иметь возможность регистрировать сообщения на удаленном сервере, даже если перебои в сети не позволяют немедленно отправить сообщение в центральное местоположение.
  2. Отправка сообщений в центральное расположение должна обрабатываться процессом, отличным от запуска приложения .NET, чтобы предотвратить любое снижение производительности приложений или веб-служб ASP.NET.
  3. Гарантированная возможная доставка сообщений в центральное местоположение. например В случае перезагрузки удаленного сервера в конце периода, когда сеть не отвечает, зарегистрированные сообщения все равно должны доставляться, когда удаленный сервер и нормальные условия сети восстановлены.

Ответы [ 3 ]

1 голос
/ 05 декабря 2009

Вероятно, действительно простым решением может быть продолжение записи локальных журналов и создание отдельного процесса для повторной публикации журнала на сервере. Вы можете опубликовать журнал, используя несколько параметров, включая шину сообщений подписки публикации, такую ​​как MassTransit или msmq.

Использование другого решения, такого как написание определенного адаптера log4net, определенно является вариантом, но оно может повлечь проблемы со связыванием / зависимостями, поэтому принятие должно учитывать фактическую среду развертывания.

1 голос
/ 05 декабря 2009

Я думаю, вы сможете сделать это, используя Microsoft Enterprise Library и MSMQ из коробки. Блок приложения Entlib Logging имеет встроенный прослушиватель MSMQ. В то время как мы использовали журналирование Entlib в нескольких проектах, я лично не использовал службу распространителя MSMQ.

http://msdn.microsoft.com/en-us/library/dd203267.aspx

0 голосов
/ 05 декабря 2009
...