a_bettik ([info]a_bettik) wrote,
@ 2006-09-12 12:02:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Current mood: excited

Эврика!
Придумал схему репликации для нашего мэйл-кластера!

На данный момент есть: N т.н. maildir-серверов, на каждом qmail-ldap + courier-ldap + slapd-slave (реплицируется с мастера), все машины балансируются через LVS (который прописан как MX в DNS'е). При доставке мыла LVS перекидывает письмо на любой из N серверов, сервер смотрит в ldap на запись юзверя и переправляет письмо на нужный хост (через qmail-qmqp). Логины в IMAP работают так же, с той лишь разницей, что для аутентификации используется imap_auth (из qmail-ldap), который переправляет IMAP session на нужный хост.

Со стороны SMTP ситуация контролируется полностью, т.к. доставка идёт через скрипт, который фильтрует почту и пихает её либо в /dev/null либо в qmail-forward либо в qmail-inject (где она напрямую пишется в maildir пользователя), т.е. в этот же скрипт можно было воткнуть репликатор который асинхронно писал бы "transaction logs" (отдельный процесс их бы потом отрабатывал и сливал на backup host). Но вот со стороны IMAP'а всё намного хуже - там за всё отвечает courier, и если пользователь например удалит мыло из папки, то нет никакой возможности отреагировать на это событие (написать transaction log)... были идеи насчёт всякой лабуды типа inotify, попытки подвязать внешнюю библиотеку через LD_PRELOAD или просто брутально переписать соответствующий кусок courier'а, но это всё как-то не серьёзно.

Теперь я понял, что dovecot спасёт отца русской демократии. Во первых в dovecot можно добавлять дополнительные namespaces и прятать их от квоты и LIST, что есть решение давней задачи клиента о реализации ОСОБЫХ писем которых не видно в нормальном клиенте (вообще-то конечно видно, если знаешь как этот namespace называется, security блин through obscurity) и которые не влияют на квоту. Это раз. Во вторых у dovecot'а есть готовая инфраструктура под написание плагинов.

Сама идея репликации проста как валенок: пишем плагин который при каждой IMAP операции (кроме read-only, типа EXAMINE или NAMESPACE) обновляет transaction log. Таким образом полностью контролируется сторона IMAP'а. Для SMTP переделывается фильтрующий скрипт так, чтобы он вместо qmail-inject использовал IMAP APPEND. Всё.

Надо только погонять пару тестов, а то мне что-то подсказывает, что IMAP APPEND будет малость тормозить...




(Post a new comment)


[info]uejikov
2006-09-13 06:20 am UTC (link)
NIH syndrome?

(Reply to this) (Thread)


[info]a_bettik
2006-09-13 06:35 am UTC (link)
Видел уже... во первых это cyrus, который (как впрочем и courier) так тупо написан, что не умеет maildir++, пришлось бы > 60000 ящиков общим обьёмом около 3TB мигрировать (не смешно, ага). Во вторых "Note that Cyrus replication is still relatively young in the grand scheme of things, and if you choose to deploy you are doing so at your own risk.", та-же фигня про murder, а у нас SLA.

(Reply to this) (Parent)

Нужна ваша помощь!
(Anonymous)
2007-05-24 03:35 am UTC (link)
Помогите выйграть на конкурсе! Пожалуйтса уделите мне 5 секунд,
зайдите по ссылке: http://avatars.pepsi.ru/avatar/view/6543/5963
И поставьте пятерку под моей аватаркой!
А если не трудно, попросите друзей сделать то же самое. Я очень надеюсь на ваше понимание и отзывчивость, расчитываю на вашу помощь! Спасибо!

(Reply to this)

ОТЛИЧНЫЙ ЗАРАБОТОК В ИНТЕРНЕТЕ
(Anonymous)
2008-03-01 04:00 pm UTC (link)
Просто зайдите сюда и дочитайте все до конца. я вчера 56 баксав заработал. не пожелейте 5 минут!
http://doxodgold.ru

(Reply to this)

НЕ НЕ ТРУДНЫЙ ЗАРАБОТОК В ИНТЕРНЕТЕ
(Anonymous)
2008-03-04 09:39 am UTC (link)
Просто зайдите сюда и дочитайте все до конца. я вчера 56 баксов заработал. не пожелейте 5 минут!
http://doxodgold.ru

(Reply to this)

Ugrently need your help!
(Anonymous)
2009-05-02 03:13 am UTC (link)
Hello, my dear friends! I want to get software pack XRumer 5.0 PALLADIUM free. Any download link?
I'm so need this magic program! It's can break captchas automatically! Activate accounts via email automatically too! Absolutely great software! Help me!
And did you hear news - price for XRumer 5.0 Palladium will grow up to $540 after 15 may 2009... And XRumer 2.9 and 3.0 - too old versions, it's cant break modern catpchas and cant break modern anti-bot protections. But XRumer 5.0 Palladium CAN!!!!
So help me for download this great soft for free! Thanks!

(Reply to this)


[info]dpllppdrf
2009-05-15 11:29 pm UTC (link)
Мой путь манимейкера начался, когда я нашел блог о заработке в интернете с нуля. Прочитал несколько статей и понеслось))) С тех пор я стал зарабатывать на жизнь в сети. Кстати, учился я на жж-шных блогах ;)

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…