Если бы на Хабре действительно были дискуссии - то вы правы. Но опыт показывает, что тут уровень дискуссии очень быстро скатывается до уровня остального интернета. А раз так, то зачем ходить сраться в несколько мест? Достаточно твитера и фейсбука
heartbeat-ы в кролике тоже нам попили крови, ага. Мне больше нравится слово "пульс", т.к. печатать меньше :) Нужно в потоке обработки что-нибудь дернуть в кролике, какой-нибудь статус проверить, тогда отошлется пульс. А если забрал сообщение и долго процессишь, то драйвер порвет соединение. Большая часть клиентов кролика построена на либе rabbitmq-c, а она не имеет метода автоматического асинхронного "пульсирования". Отсюда поведение в ноде, питоне и даже 1С - такое
Порядок сообщений возникает, когда например у вас на основании каких-то статусов заказов что-то происходит в бизнесе. Клиент создал заказ, клиент поменял заказ, клиент отменил заказ, клиент оплатил заказ.
Так вот, оплата может быть как до отмены, так и после. Причем это ПОСЛЕ может случиться и в реальном мире (действительно сначала отменил, а потом оплатил) так и из-за сбоев в сервисах. На каждый из случав нужна разная реакция бизнеса. Если в event-driven логика завязана на порядок сообщений - вас ждут проблемы. Это не масштабируется.
Еще пример: есть одна очередь, в ней порядкозависимые события. Если у нас один воркер ее разгребает - все хорошо. но вот он перестал справляться. Мы не можем добавить еще один на эту же очередь, поскольку теперь какое сообщение попадет в обработку быстрее №1 или №2? Пусть воркер А почему-то долго обрабатывает сообщение №1 (база тупит, сеть залагала, мало ли). Воркер Б получает сообщение 2, которое не может наступить раньше, чем сообщение 1. Но про сообщение 1 то воркер не знает ничего. И о том как оно обработано тоже (транзакция воркера А еще не завершена).
Придется масштабировать не воркерами, а очередями. Например была 1 очередь на все магазины, стало 20 очередей по числу магазинов. Ну и вообще, ухищрений и велосипедов связанных с обеспечением идемпотентности, порядка, throttling - очень много возникает.
А сколько классных глюков несет эта архитектура (как и любая другая распределенная), когда порядок сообщений сбивается, или когда оно доставлено не во все места, куда должно... там столько веселья кроется, что синхронные проблемы "сервис недоступен" покажутся раем.
То, что о чистоплотных компаниях не слышно - вина чистоплотных компаний. На Хабр написать - недорого стоит. А так да, в госсекторе ценник умножается на 5 просто потому, что так можно. Грусть-печаль и вот это все. А было бы много имен на рынке, было бы сложнее делать конкурсы под откат
Странно, что никто не написал до сих пор: "азазаза у вас там линукс, и байкал - это сертифицированный ARM, это не отечественное, вы просто бирки наклеили". Взрослеем что-ли?
Борщ, как известно, украинский, но украден КГБ и продан на Запад под брендом BORSCH. Остается понять, клали ли украинцы в борщ вакцину от ковид - и дело доказано!
Если бы на Хабре действительно были дискуссии - то вы правы. Но опыт показывает, что тут уровень дискуссии очень быстро скатывается до уровня остального интернета. А раз так, то зачем ходить сраться в несколько мест? Достаточно твитера и фейсбука
Почему без морали? Разве в сети мало места сейчас, где можно отвести душу и устроить баталии с оппонентами? Зачем нужно еще одно?
Даже Марго Робби может надоесть... Так устроены человеки
heartbeat-ы в кролике тоже нам попили крови, ага. Мне больше нравится слово "пульс", т.к. печатать меньше :) Нужно в потоке обработки что-нибудь дернуть в кролике, какой-нибудь статус проверить, тогда отошлется пульс. А если забрал сообщение и долго процессишь, то драйвер порвет соединение. Большая часть клиентов кролика построена на либе rabbitmq-c, а она не имеет метода автоматического асинхронного "пульсирования". Отсюда поведение в ноде, питоне и даже 1С - такое
Порядок сообщений возникает, когда например у вас на основании каких-то статусов заказов что-то происходит в бизнесе. Клиент создал заказ, клиент поменял заказ, клиент отменил заказ, клиент оплатил заказ.
Так вот, оплата может быть как до отмены, так и после. Причем это ПОСЛЕ может случиться и в реальном мире (действительно сначала отменил, а потом оплатил) так и из-за сбоев в сервисах. На каждый из случав нужна разная реакция бизнеса. Если в event-driven логика завязана на порядок сообщений - вас ждут проблемы. Это не масштабируется.
Еще пример: есть одна очередь, в ней порядкозависимые события. Если у нас один воркер ее разгребает - все хорошо. но вот он перестал справляться. Мы не можем добавить еще один на эту же очередь, поскольку теперь какое сообщение попадет в обработку быстрее №1 или №2? Пусть воркер А почему-то долго обрабатывает сообщение №1 (база тупит, сеть залагала, мало ли). Воркер Б получает сообщение 2, которое не может наступить раньше, чем сообщение 1. Но про сообщение 1 то воркер не знает ничего. И о том как оно обработано тоже (транзакция воркера А еще не завершена).
Придется масштабировать не воркерами, а очередями. Например была 1 очередь на все магазины, стало 20 очередей по числу магазинов. Ну и вообще, ухищрений и велосипедов связанных с обеспечением идемпотентности, порядка, throttling - очень много возникает.
А сколько классных глюков несет эта архитектура (как и любая другая распределенная), когда порядок сообщений сбивается, или когда оно доставлено не во все места, куда должно... там столько веселья кроется, что синхронные проблемы "сервис недоступен" покажутся раем.
сдается мне, в компаниях, в которых такие политики безопасности, бюджеты безопасников и таймтрекерщиков - бесконечные
Вьетнам и Корею забыли
То, что о чистоплотных компаниях не слышно - вина чистоплотных компаний. На Хабр написать - недорого стоит. А так да, в госсекторе ценник умножается на 5 просто потому, что так можно. Грусть-печаль и вот это все. А было бы много имен на рынке, было бы сложнее делать конкурсы под откат
Значит надо вообще ничего не делать и экспертизу не накапливать. Верно?
Странно, что никто не написал до сих пор: "азазаза у вас там линукс, и байкал - это сертифицированный ARM, это не отечественное, вы просто бирки наклеили". Взрослеем что-ли?
А про паляницу уже было? Я тренировался час с приятелем украинцем и ниасилил
Отсылки к Бобу и Алисе шикарные
Поговорил с женой о смене кухни. Наутро в ФБ и Инстаграмчике рекламы кухонных фабрик. А телефон просто лежал рядом
Это Вы, видимо, удаффкома не видели... вот где эффективное словотворчество было
Борщ, как известно, украинский, но украден КГБ и продан на Запад под брендом BORSCH. Остается понять, клали ли украинцы в борщ вакцину от ковид - и дело доказано!
Зачем эта желтуха на Хабре, мало ли чтоль такого во внешнем интернете?
А я что-то не могу уловить юмор миномета с названием "Василек"....
Это ужасно, но разве автору стоит смириться со своим дымом, если
в Африке дети голодаютв Новосибе дым?Привыкаем жить в мире, где все, с чем я не согласен - пропаганда