Size: a a a

2020 November 27

VC

Vladimir Chernyshev in PHP
Станислав Алексеев
то есть сообщения сохраняться на диск будут, если я их durable отправлять буду, да?
спасибо большое!
Да
источник

VC

Vladimir Chernyshev in PHP
Гарантия не 100%
источник

K

Katran in PHP
Менеджер очереди не лучшее место для хранения данных. Чаще всего, если появляется необходимость durable, то это признак того, что надо пересмотреть этот кусок архитектуры.
источник

СА

Станислав Алексеев... in PHP
Katran
Менеджер очереди не лучшее место для хранения данных. Чаще всего, если появляется необходимость durable, то это признак того, что надо пересмотреть этот кусок архитектуры.
да я не храню данные
просто каким-то раком кролик съел слишком много места в контейнере, первым делом подумал на забитые на диск очереди
источник

K

Katran in PHP
А очередь можно просто убить и перегенерировать? Или убить и забыть. Если нет, то, вероятно, там хранится таки что-то. Данные о смене состояния, к примеру.
источник

СА

Станислав Алексеев... in PHP
Katran
А очередь можно просто убить и перегенерировать? Или убить и забыть. Если нет, то, вероятно, там хранится таки что-то. Данные о смене состояния, к примеру.
можно убить без страха и сожаления, данные о смене состояний хранятся, но они перед отправкой в очередь дублируются в базе
источник

K

Katran in PHP
А, ну значит я зря переживал )
источник

СА

Станислав Алексеев... in PHP
Katran
А, ну значит я зря переживал )
да, с очередями проблем нет, просто ночью в какой-то момент сам кролик по какой-то причине выжрал 9гб и стал отбрасывать любые соединения, пока контейнер не пересоздал, кролик отказывался принимать соединения, вот, расследую возможные причины)
источник

АЯ

Андрей Ява in PHP
Katran
Менеджер очереди не лучшее место для хранения данных. Чаще всего, если появляется необходимость durable, то это признак того, что надо пересмотреть этот кусок архитектуры.
Не согласен. Если вам нет необходимости гарантированно отправлять сообщения, то может вам вообще не нужен брокер?
источник

K

Katran in PHP
Андрей Ява
Не согласен. Если вам нет необходимости гарантированно отправлять сообщения, то может вам вообще не нужен брокер?
Брокер нужен как раз для декаплинга. Для сильных связей - прямые вызовы типа RPC. Наличие очереди не гарантирует обработку сообщения. Нет гарантии обработки или вообще наличия консьюмера. Как раз если нужны гарантии, ответ и т.д. - это не место для брокера.
источник

k

knopkod4v in PHP
Katran
Брокер нужен как раз для декаплинга. Для сильных связей - прямые вызовы типа RPC. Наличие очереди не гарантирует обработку сообщения. Нет гарантии обработки или вообще наличия консьюмера. Как раз если нужны гарантии, ответ и т.д. - это не место для брокера.
интересно, а как люди тогда строят распределённый системы с использованием очередей
у них что, половина сообщений теряется и они на это плюют? 🤔
источник

m

militska in PHP
knopkod4v
интересно, а как люди тогда строят распределённый системы с использованием очередей
у них что, половина сообщений теряется и они на это плюют? 🤔
можно отедльно монитоить необработанные обьекты,  фиксируя их в состоянии  без обработки
источник

RB

Robot Bender in PHP
Всем привет подскажите плиз мой ответ в парсере содержит \(ID\)(.*?) в регулярке есть , как мне , эту заменить на .
источник

K

Katran in PHP
knopkod4v
интересно, а как люди тогда строят распределённый системы с использованием очередей
у них что, половина сообщений теряется и они на это плюют? 🤔
Построить можно, там же не только очередь есть. Уверен, там другой source of truth.
источник

NO

Nex Otaku in PHP
Robot Bender
Всем привет подскажите плиз мой ответ в парсере содержит \(ID\)(.*?) в регулярке есть , как мне , эту заменить на .
google regex escape special characters
источник

АЯ

Андрей Ява in PHP
Katran
Брокер нужен как раз для декаплинга. Для сильных связей - прямые вызовы типа RPC. Наличие очереди не гарантирует обработку сообщения. Нет гарантии обработки или вообще наличия консьюмера. Как раз если нужны гарантии, ответ и т.д. - это не место для брокера.
эм. ну ответ может и не обязателен, а вот гарантия обработки и прочее - для этого существует куча механизмов, к примеру acknowlege
источник

АЯ

Андрей Ява in PHP
почему нельзя использовать существующий и удобный механизм, а придумывать миллиард обёрток?
источник

СА

Станислав Алексеев... in PHP
Андрей Ява
эм. ну ответ может и не обязателен, а вот гарантия обработки и прочее - для этого существует куча механизмов, к примеру acknowlege
да, ack  и nack(с возвратом в очередь при фейле) помогают построить достаточно надёжную систему
источник

K

Katran in PHP
Андрей Ява
эм. ну ответ может и не обязателен, а вот гарантия обработки и прочее - для этого существует куча механизмов, к примеру acknowlege
Код, который отправил сообщение, ничего не знает об ack. Значит, ему всё равно. Система должна работать независимо от того, когда будет обработано сообщение (длина очереди и скорость обработки непредсказуемы). Если для источника и системы в общем состояние очереди не имеет значения, значит и сами сообщения не должны иметь. Обёртки - это попытка из очереди сделать базу или state machine. Возможно, на меня влияет контекст обсуждения RabbitMQ, про Kafka я бы такое не сказал, наверное.
источник

АЯ

Андрей Ява in PHP
а что с реббитом не так?
источник