The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
вопрос дилетанта!, !*! and, 24-Фев-05, 13:27  [смотреть все]
  • вопрос дилетанта!, !*! Maxim Kuznetsov, 16:29 , 24-Фев-05 (1)
  • вопрос дилетанта!, !*! ACCA, 19:26 , 24-Фев-05 (2)
  • вопрос дилетанта!, !*! NewComer, 16:36 , 03-Мрт-05 (7)
    >Есть приложение скидывает статистику в обычный файл!
    >Ничего не подозревающему приложению, вместо файла подсовываю FIFO-файл и вешаю демон!
    >Теперь статистика сваливается прямо к демону!
    >То что это работает - факт. Вопрос в том насколько это корректно
    >и потенциально в таком программировании могут быть проблемы?
    >Т.е. примеры, когда заранее пишется "клиент" и "сервер" для обмена данным через
    >FIFO, конечно же я видел, а вот когда клиент ничего не
    >подозревает и думает, что складывает данные в обычный файл?
    >Интересны любые замечания!
    >Заранее спасибо!

    Эту идею я когда-то использовал при написании системы учета сквидового трафика. Вместо access.log я создавал фифо, сделал демона, который висел на другом конце трубы и кидал логи в постгресовую БД.

    Впоследствии я от этой идеи отказался по следующим причинам:
    1 - демон должен всегда сидеть в памяти;
    2 - возникает зависимость основного сервиса, сквида в моем случае, от другого сервиса (моего логгера), а того, в свою очередь, от третьего сервиса (БД), и, следовательно, значительно возрастает вероятность отказа основной службы.

    Остановился я на такой схеме: основной сервис, как и прежде, пишет свои логи в файл, а переливалка логов запускается периодически, по крону, перебрасывает новую порцию лога в базу и обнуляет файл лога. При этом никто ни от кого не зависит и надежность нисколько не страдает.

    Удачи




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру