🏳️ Phil
И да, да, я знаю, что по-хорошему его надо разделять на куски
Ну тогда надо или вздохнуть и терпеть. Или держать пару, переключая между ними
🏳️ Phil
Ну тогда надо или вздохнуть и терпеть. Или держать пару, переключая между ними
Я в efind так кстати склады обновлял. Обновил - поставил галочку active
Sergei
для меня это набор пустых звуков. исходя из корней слов я слышу что-то про перезаливку базы раз в секунду, что немного выносит мне мозг
задача была - поисковик картинок. 3ккк картинок + поисковый индекс. поисковый индекс делится на шарды, шарды индекса отражаются 1:1 к шардам хранилища картинок. шарды хранилища картинок представляют из себя серверы, которые умеют отдавать картинки :) де-факто это просто сервер со статикой. когда мы катим новый индекс, мы одновременно катим и новые картинки. мы не можем позволить себе blue-green-деплой в таком режиме (огромный простой железа), поэтому индекс и картинки деплоятся роллингом. роллинг - это значит что за раз деплоится несколько шардов из 2048. процесс последовательный и долгий. при окончании деплоя шарда индекса и шарда хранилища происходит переконфигурация nginx'ов, потому что шарды хранилища складываются на наиболее свободные машины хранилища, а соответствующие старые шарды удаляются.
🏳️ Phil
аааа
🏳️ Phil
все равно понял только интуитивно, но ладно
🏳️ Phil
спасибо ;)
CMDR Jack
задача была - поисковик картинок. 3ккк картинок + поисковый индекс. поисковый индекс делится на шарды, шарды индекса отражаются 1:1 к шардам хранилища картинок. шарды хранилища картинок представляют из себя серверы, которые умеют отдавать картинки :) де-факто это просто сервер со статикой. когда мы катим новый индекс, мы одновременно катим и новые картинки. мы не можем позволить себе blue-green-деплой в таком режиме (огромный простой железа), поэтому индекс и картинки деплоятся роллингом. роллинг - это значит что за раз деплоится несколько шардов из 2048. процесс последовательный и долгий. при окончании деплоя шарда индекса и шарда хранилища происходит переконфигурация nginx'ов, потому что шарды хранилища складываются на наиболее свободные машины хранилища, а соответствующие старые шарды удаляются.
Это немного специфичнее хостинга схема. И кстати здесь-то как раз можно серт просто подписывать там, где HTTPS слушает.
CMDR Jack
Ну то есть зачем все машины хранилища тут трогать.
Sergei
Это немного специфичнее хостинга схема. И кстати здесь-то как раз можно серт просто подписывать там, где HTTPS слушает.
здесь не было проблем по деплою ssl. я просто привел пример разросшейся конфигурации, которая требовала частых релоадов.
CMDR Jack
Ммм ок.
Pavel
Деплой микробаз и перераскатка наносервисов
CMDR Jack
Пикодеплой
Tiarv
Боку но пико деплой
Pavel
милликомитами
Sergei
Деплой микробаз и перераскатка наносервисов
микробазы, хм, называются так, потому что в контексте сервиса они маленькие, а не потому что они весят 100 кб :)
🏳️ Phil
хотя я и про шардинг индексов бы почитал
Sergei
микробаза - почти синоним шарду
🏳️ Phil
а про шард? и индексов. да и не инлексов тоже.
Sergei
мм, я там больше не работаю, цикл статей как это было устроено в мейлрушке вот: https://habrahabr.ru/company/mailru/blog/167297/
Sergei
метапоиск отправлял запрос во все шарды параллельно, они отвечали "у меня есть 620 документов", или "у меня есть 0 документов", после этого метапоиск выбирал шарды, которые потенциально интересны и отправлял запрос туда (вторая стадия), откуда получал уже ответы, переранжировал их и возможно делал дозапрос, снова переранжировал и отправлял пользователю.
Max
Коллеги. Собственно есть задачка. В системе периодически происходят события, которые вызывают здоровенную пуш рассылку и шлют кучищу писем на почту. Сидим вот голову ломаем, как кошернее всего сделать очередь для всей этой херни. Может кто поделится опытом?
Max
выборка по клиентам потому как
Max
пол, возраст, геолокация etc
Aleksandr
один фиг не понимаю зачем это всё в почту пихать
Max
там ещё было слово пушки
Max
пушек больше на самом деле
Max
json с описанием пушки и массив токенов длинной до 152 символов в количестве 1000 штук "в идеале" это одно сообшение таких сообщений в очереди на отправку может быть до 5 десятков вот так
Max
шо ты имеешь в виду?
Zon
шо ты имеешь в виду?
Ну “почтовые очереди” вроде были чуть ли не с начала времён. Какая часть системы загибается?
Max
балин
Max
json с описанием пушки и массив токенов длинной до 152 символов в количестве 1000 штук "в идеале" это одно сообшение таких сообщений в очереди на отправку может быть до 5 десятков вот так
Max
почта это побочный продукт, не привязывайтесь к почте
Max
я собираю мнения как лучше эту очередь реализовать. Были мысли про рэббит, но 100% загнётся в один прекрасный момент, т.к. не рассчитан на хранение таких объёмов данных
Max
при чём в случае с кластером он загнётся быстрее чем с одно нодой
Max
в соседнем чате посоветовали celery посмотреть
Lex
а что надо то в результате?
Lex
ну приходят и приходят, что с них взять
Max
нужна очередь достаточно объёмных сообщений
Max
всё
Max
вся задача
Zon
у celery разные бекенды были, кмк. но эта вся пачка json около 30Мб максимум получается, не так уж и много вроде
Max
для ребита много
Max
тут ещё важно, что бы хранилище было не inmemory как в случае с редисом
Max
да, тоже предлагали
Sergei
тред не читал
Max
))
Lex
50 месседжей по метру?
Vladimir
@uncle_gaara кафка это хороший выбор )
Max
@uncle_gaara кафка это хороший выбор )
так вот давайте без троллинга ))
Sergei
так вот давайте без троллинга ))
никакого троллинга. кафка - хороша.
Vladimir
так вот давайте без троллинга ))
это не троллинг, а подтверждение правильности прошлых ораторов
Max
вот так верю
Max
какие подводные камни? )
Sergei
какие подводные камни? )
кровь-кишки-распидорасило в определенный момент...
Max
плохо
Max
)))
Zon
для ребита много
мне кажется даже сообщения в мегабайт не уложит реббита
Lex
но 50 сообщений по 1MB это не так уж много, если Я правильно понял постановку задачи
Sergei
на самом деле кафка норм и совсем кровь-кишки я не получал.
Max
уложит уложит
Zon
кафка тоже норм, рядом сидят люди, которые ей в продакшене довольны
Max
значит покурим кафку и селери
Zon
значит покурим кафку и селери
http://docs.celeryproject.org/en/latest/getting-started/brokers/index.html селери сама по себе не хранит очередь, хранят брокеры: редис или кролик
Denis
Ребят
Denis
Смотрите, нужно костыльнуть.
Denis
есть имидж с приложением.
Denis
есть задача запустить порядка 30 инстансов этого аппа с одним параметром (--run-once) дождаться пока они все завершаться и запустит ьс другим параметром (--calc)
Denis
как бы вы поступили ?
CMDR Jack
Эээ, простейший скрипт с wait?
Sergei
echo {0..30} | xargs -P 30 -n 1 docker run ... .... ; echo {0..30} | ....
CMDR Jack
echo | xargs ЗАЧЕМ
Sergei
параллельно
CMDR Jack
Вот за что вас, девопсов, не любят! :D