- вопрос дилетанта!, 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 - возникает зависимость основного сервиса, сквида в моем случае, от другого сервиса (моего логгера), а того, в свою очередь, от третьего сервиса (БД), и, следовательно, значительно возрастает вероятность отказа основной службы. Остановился я на такой схеме: основной сервис, как и прежде, пишет свои логи в файл, а переливалка логов запускается периодически, по крону, перебрасывает новую порцию лога в базу и обнуляет файл лога. При этом никто ни от кого не зависит и надежность нисколько не страдает. Удачи
|