Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/61: Рейтинг темы: голосов - 61, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
1

Разработка Собственной Очереди Сообщений

17.05.2012, 19:50. Просмотров 11077. Ответов 10
Метки нет (Все метки)

Всем привет. Вот возник очередной философский вопрос.

Есть офис с небольшим почтовым трафиком (максимум 1000 исх. писем в день; обычно неск. сотен) и с ОЧЕНЬ хилым каналом. Соответственно, периодически возникают затыки с лотусовой почтой: скажем, человек отправил 10 писем по 5 МБ каждое - и все, канал забит...

Политиццки вопрос не решить - люди шлют "большие" письма, в основном, по делу.
Ограничить объем? Задолбаются разбивать rar ом на N частей (да и все равно же будут все части подряд отправлять). Выставлять лотусовые приоритеты в серверных правилах? Опять же, большие письма нужны тоже не ночью, а в раб. время...

Возникла мысль - все иcх. письма загонять серверным правилом в некую базу. Далее для этой базы написать шедульного агента. Он расставляет письмам приоритеты в зависимости от отправителя, получателя, размера и т.п. И потом некими порциями - по приоритету! - их "пропихивает" назад в mail.box. К ОПРЕДЕЛЕННЫМ задержкам при отправках (скажем, агент будет пробегать по базе раз в 5-10 мин) они готовы - главное, чтоб, грубо гря, письма размером в 10К от гендиректора уходили в ПЕРВУЮ очередь. Ибо сейчас эти письма зачастую висят в mail.box часами...

Вот сижу и думаю - будет ли это ВООБЩЕ работать? Мож, кто решал подобные задачи? Подскажите, плиз.

ЗЫ. Условие - надо сделать ИМЕННО и ТОЛЬКО на чистой Домине. Т.е., отправка всем писем, скажем, на некий сторонний "SmartHost с умной очередью" или использование стороннего софта под Домину не годидзе :-(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2012, 19:50
Ответы с готовыми решениями:

Очереди сообщение (создание очереди из N сообщений)
Нужна помощь в создании очереди из n сообщений как создать простую очередь я знаю но как указать...

Разработка собственной CMS-системы
Всем привет! Работаю над дипломом, тема которого "CMS-система для веб-студии". Как пример,...

Очереди сообщений
Доброго всем дня!подскажите пожалуйста и помогите с написанием с неочень большой и сложной...

Статистика из очереди сообщений
Ребят, выручайте. Я SQL вообще не знаю, а задание надо сделать, дедлайн скоро. Сижу, читаю, но...

10
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
17.05.2012, 21:08 2
делал подобное работает
вот только если гендиректор напишет эти самые 5Мб всё будет как и раньше
а так да, пожно перекрутить маршрутизацию начисто
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.05.2012, 22:13 3
отцепляем файло, шифруем, кладем на общий диск, линк вместо аттача...
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
17.05.2012, 23:31 4
я в общем не эксперт в доминошной почте, но решал похожую задачу для http трафика. оно в принципе рулица средствами ОС:
трафик шейпер на внешнем интерфейсе плюс настройка отправки в 5-10 потоков. см "Maximum concurrent transfer threads"
Т.е. выделяем например половину канала под исходящий на 25 порт, для этой половины включаем какой-нить RED и вперед: у вас гарантировано сможет идти отправка 10 писем одновременно, причем трафик будет делиться относительно равномерно между ними

а без управления трафиком на внешнем интерфейсе есть вариант, что какой-нить юзер забьет канал тупой заливкой фоток на одноклассники.
Т.е. недостаточно шейпить smtp - необходимо выделить гарантированную полосу под него.

[updated] к самописному планировщику есть вопросы: что делать, если ваш письмо от генерального упало в планировщик в момент, когда пятиметровый слон уже отправляется и успел занять канал? Т.е. возможна ситуация, когда в планировщике только слоны и он(планировщик) вынужден поставить одного из них на отправку. А через пять ( десять, пятнадцать ) минут в планировщик падает то самое письмо от генерального... Дропать слона в mail.box? А ведь он мог уже наполовину уйти.
0
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 11:37 5
Спасибо за ответы.


настройка отправки в 5-10 потоков
Это сделано, но против "стада слонов" помогает плохо :-(


что делать, если ваш письмо от генерального упало в планировщик в момент, когда пятиметровый слон уже отправляется и успел занять канал?
Тут главная задача (как мне видится) - отправив "слона", не отправлять ему в хвост других "слонов" и "слонят". Т.е., "помнить", что "слон" уже заслан и в параллель ему пропихивать, скажем, только 10К-письма...
Меня, честно гря, пугает регулярное копирование писем из моей очереди в mail.box. По 1-2 я и сам агентами в нем создаю - а вот ежели раз в 5 минут это делать? Router не загнется ли?... ;)
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
20.05.2012, 11:49 6
вопрос ровно в одном - отчего тако размер? ;)
зная "идиотов", кот. пихают рисунки или сложные отчёты (хехель на десятки тыс. строк) могу предположить :lol:
уяснив причину - можно "попытаться" решать иначе задачу...:
-урезание документов (уменьшить картинки)
-отображение на стороне сервера (возвращаемся к вопросу линков) и движка отображения
0
RoJ
20.05.2012, 12:05 7
может для начала понизите приоритет для больших писем с помощью настройки


Send all messages as low priority if the message size is between:
в конфиге сервера?
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 13:17 8
возвращаемся к вопросу линков
Дык отправляют в др. офис - общий диск с линками не прокатит. Создать некую общую базу и ее реплицировать? Тоже вот думаю на эту тему...



send all messages as low priority if the message size is between:
Не нравится то, что надо указывать определенный диапазон для low priority. Т.е., канал-то забивается только иногда, бОльшую часть времени он вполне доступен. Если отправлять низкоприоритетников ночью, получим дневной простой в работе
0
RoJ
20.05.2012, 13:30 9
Цитата Сообщение от Мыш
Не нравится то, что надо указывать определенный диапазон для low priority. Т.е., канал-то забивается только иногда, бОльшую часть времени он вполне доступен. Если отправлять низкоприоритетников ночью, получим дневной простой в работе
необязательно её на ночь ставить, пусть отправляется целый день, пропуская остальные
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 13:52 10
пусть отправляется целый день, пропуская остальные
Полагаете, должен пропускать? Хмм, спасибо, попробую...
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
20.05.2012, 14:06 11
Дык отправляют в др. офис - общий диск с линками не прокатит.
несовсем так :lol: - ставим DFS (виндовый) или rsync
ведь такой объем не генерят с нуля
конечно луче распределённую ФС с дедупликацией, но это из нереальной области для офиса ;)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2012, 14:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Клиенты и сервера. Очереди сообщений.
Задача на С: Существуют два клиента и 1 сервер Клиенты читают строки из файла, причём: клиент...

Очереди сообщений в Linux ubuntu
Здравствуйте, есть две програмулины. Программа client читает данные (числа) из файла и посылает их...

Rabbitmq удаление прочитанных сообщений из очереди
Имеется приложение на python, которое принимает сообщения и отправляет их в очередь rabbitmq....

Как получить количество сообщений в очереди???
Мне нужно получить количество сообщений в очереди и если это количество больше 100, то отправить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.