Автоматизированный трекбек
Как я понимаю, одно из основных удобств трекбека состоит в том, что он может работать самостоятельно, без внешнего вмешательства. То есть, после публикации заметки движок обходит все ссылки, которые в ней есть, и пытается их пингануть.
Вопросов это формирует сразу несколько.
Во-первых, насколько это реализуемо с точки зрения производительности? Вот, написал я заметку с 10-ю ссылками. И начинает движок все их обходить, чтобы вычленить из них те, может быть, две-три, которые можно пингануть. Это же тормозит всё, так?
Во-вторых, насколько это надёжно? Допустим, если пингуемый сервер не ответил за 5 секунд, то мы на него забиваем и пингуем следующий. Но ведь может быть он просто случайно оказался недоступен или сильно нагружен в эту секунду, и если попробовать чуть позже, то уже всё получится. Значит нужно хранить список удачных и неудачных исходящих пингов для каждой заметки и как-то периодически повторять попытки... Но ведь это бред?
В-третьих, что если я написал заметку со ссылкой, потом отредактировал её и входе этого редактирования убрал ссылку. Или, кстати, например, вообще удалил заметку. Что происходит в этом случае?
В-чётвертых, нужен ли способ отправить исходящий пинг на адрес, ссылки на который в заметке нет? Сейчас у меня есть только такой механизм, то есть, в форме написания заметки отображается поле «Пинговать по адресу». Но если пинговаться будут все ссылки подряд, то это поле, я думаю, можно убрать. Нужен ли на всякий случай какой-нибудь синтаксис типа «„http://baltcity.ru/log/36/kak-i-prosil-ilya/trackback/“» для того, чтобы, если захочется, принудительно пингануть кого-нибудь?
Что скажете?
Как тыт точно описал все то, что двигало меня на создание Russian TrackBack’а... И редактирование/удаление, и еще ты забыл про спам,... Ну, что, сделаем таки нормальный протокол? В прошлый раз, напомню, все согласились на том, что:
На мой взгляд, нужен таки другой протокол. Но один я его двигать как-то не очень хочу. Может, если продержится до следующего года, в начале него — начну.
Насчет надежности — я считаю разумным забивать на повторные попытки связи. Ответил пингуемый сервер — хорошо. Не ответил — черт с ним, трекбэк не такая важная вещь, чтобы ради нее держать какие-то списки и нагружать сервер. ТБ не самоцель ведь, а просто доп. возможность.
На случай «неожиданностей» надо делать ручной привод :)
А как? (Я про интерфейс)
Я полагаю, что надо делать систему не моментальной связи, а постепенной. То бишь все ссылки выстраивать в «очередь» и обрабатывать её маленькими «пучками».