|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov Number of queues Queues are single-threaded in RabbitMQ, and one queue can handle up to about 50 thousand messages. You will achieve better throughput on a multi-core system if you have multiple queues and consumers and if you have as many queues as cores on the underlying node(s). а что это за история по 50 тыс. сообщений в очереди? Я консьюмера на пару часов выключил и все по бороде пошло? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 10:53 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Ну да. Как писал ранее - если вам не нужна отказоустойчивость, скорость и горизонтальное масштабирование, то Rabbitmq вполне оправданный выбор. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 10:59 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Андрей Панфилов Roman Osipov Number of queues Queues are single-threaded in RabbitMQ, and one queue can handle up to about 50 thousand messages. You will achieve better throughput on a multi-core system if you have multiple queues and consumers and if you have as many queues as cores on the underlying node(s). а что это за история по 50 тыс. сообщений в очереди? Я консьюмера на пару часов выключил и все по бороде пошло? Здесь не подскажу. Не ставил таких экспериментов. Можно только догадываться - в туториале написано что максимальная производительность будет при пустых очередях, может размер очереди тоже как-то сказывается на производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:15 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Вот на 7-й странице топика начинает наклевываться некий бенчмарк. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:16 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
mayton Эрланг проектировался в далекие 80-е когда мультизадачность была основана не на потоках а на более примитивных сущностях. А кооперативная многозадачность может подарить массу неприятных сюрпризов при сетевых проблемах (packet loss и вот это вот всё). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:29 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov "Импоссибиль" - select() BSD Socket API (а в те самые восьмидесятые лучше ещё не было) далеко не бесплатен. И чем больше опрашиваемых сокетов - тем хуже. Да но эксперимент Осипова проводится не в восьмидесятых. А что под капотом select() может влиять на оплату? Я имею в виду при условии 5000 октрытых сокетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 11:37 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov PetroNotC Sharp, Ну да. Как писал ранее - если вам не нужна отказоустойчивость, скорость и горизонтальное масштабирование, то Rabbitmq вполне оправданный выбор. Написали только отрицательное. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 12:18 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
mayton А что под капотом select() может влиять на оплату? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 12:45 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov mayton А что под капотом select() может влиять на оплату? Этож печаль печальная. На вход сетевой карты заходит Ethernet frame. Мы могли-бы уже его сразу взять в работу. Но вместо этого мы проставляем какие-то статусы. И инициируем работу объемом в o(n), хотя по смыслу нам-бы хватило o(1). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 12:48 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
mayton Почему соврменные JMS/MQ системы незаменимы? MQ скрывают сетевой слой. Вот ты отправил запрос. А он дошёл? А ответ? А если ошибка в сетевом слое? А если ошибка в сервере- что делать? Отправлять заново? А если нам только сказать - то почему мы должны ждать когда сервер очухается и тыкаться в труп? А если сервер после падения поменяет свой IP-адрес - как мы сможем корретно повторить отправку недоставленного сообщения? Там ещё есть сообщения - типа прокси разных и т.п. Вот на все эти вопросы MQ ответила за нас (хорошо или нет- другой вопрос). PS: О чём вы тут 7 страниц пишете- я не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:03 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Alexey Tomin PS: О чём вы тут 7 страниц пишете- я не понимаю. Шатаешь основы? Ну ты мог сразу сказать. Поскольку задача двух генералов не имеет решения то и все ваши очереди это фигня полная и они работать не могут. И TCP тоже работать не может. А ааботают не благодаря - а вопреки. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:11 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Alexey Tomin mayton Почему соврменные JMS/MQ системы незаменимы? MQ скрывают сетевой слой. Вот ты отправил запрос. А он дошёл? А ответ? А если ошибка в сетевом слое? А если ошибка в сервере- что делать? Отправлять заново? А если нам только сказать - то почему мы должны ждать когда сервер очухается и тыкаться в труп? А если сервер после падения поменяет свой IP-адрес - как мы сможем корретно повторить отправку недоставленного сообщения? Там ещё есть сообщения - типа прокси разных и т.п. Вот на все эти вопросы MQ ответила за нас (хорошо или нет- другой вопрос). PS: О чём вы тут 7 страниц пишете- я не понимаю. Вы живете в каком-то идеальном мире. Ну никак MQ не отвечает на эти вопросы. Т.к. брокер тоже может упасть, поменять адрес и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:13 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov Т.к. брокер тоже может упасть, Топик про МОМ. Это промежуточный слой между ПРИЛОЖЕНИЯМИ. Если приложение проспало завтрак, то его подадут ему позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:27 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov, Я вам такую вещь скажу - там где можно обходиться без МОМ, надо обходиться без МОМ, не надо вводить лишнюю точку отказа и мониторинга. А приходится вводить в следующих случаях: - системы не могут интегрироваться с собой напрямую - либо протоколы не позволяют, либо формат не подогнать; - из-за ограничений производительности систем. Например тысячи клиентов одновременно шлют сообщения, которые надо записать в БД. Если каждое в отдельной транзакции писать, то БД умрет - поэтому надо батчами работать, буферизировать в очередях; - если надо делать какую-то массовую рассылку. Реализовывать логику рассылки на источнике не очень идея, т.к. при добавлении потребителей на других протоколах надо будет источник дорабатывать. Можете дополнять список. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:28 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Roman Osipov Т.к. брокер тоже может упасть, Топик про МОМ. Это промежуточный слой между ПРИЛОЖЕНИЯМИ. Если приложение проспало завтрак, то его подадут ему позже. Ну не нравится термин брокер, то перефразирую - MOM может отказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:29 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Друзья. Мы еще даже не добрались до кластеров и кворумов. А вы уже подрались. Подождите. Вот там где точно драка будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:39 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov там где можно обходиться без МОМ, надо обходиться без МОМ Можно и от автомобилей отказаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:57 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov Можете дополнять список. Без МОМ ты всегда должен быть он лайн. Тебе это и сказали выше. А ты в бутылку полез. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 13:59 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Roman Osipov Можете дополнять список. Без МОМ ты всегда должен быть он лайн. Тебе это и сказали выше. А ты в бутылку полез. Не должен. И без МОМ системы приемники могут быть оффлайн. Надо понимать, что наличие МОМ не избавляет от необходимости реализовывать очереди отправки сообщений на источнике с возможностью переотправки при отказах приемника (отказавшим приемником может быть как МОМ, так и целевая система). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:08 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov, Ну дак ты докажи. Я пишу приложение Заказать пиццу на предприятии с 1500 человек. Есть шина ака МОМ. Очередь вне моего приложения. И маршрутизация. 5 строчек и готово. Разве не избавило меня от необходимости?...... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:12 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov, Отказ МОМ это как лечение головной боли гильотиной. Это оффтоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:13 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Легко: - МОМ(очередь) падает/отказывает; - при отправке в МОМ сообщения получаешь какой-нибудь Connection Timeout; - при отсутствии на источнике очереди и переотправки переходишь к отправке следующего сообщения. Твое сообщение потеряно, даже при наличии в архитектуре MOM. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:17 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov Вы живете в каком-то идеальном мире. Ну никак MQ не отвечает на эти вопросы. Т.к. брокер тоже может упасть, поменять адрес и т.д. Да. MQ должен быть ОЧЕНЬ устойчивым. В т.ч. мы делегируем вопросы надёжности брокеру. В этом есть логика - вместо 10 своих микросервисов, мы зависим только от одной кафки. И это повышает надёжность, если только ваша команда не круче авторов этой самой кафки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:19 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Roman Osipov PetroNotC Sharp, Легко: - МОМ(очередь) падает/отказывает; - при отправке в МОМ сообщения получаешь какой-нибудь Connection Timeout; - при отсутствии на источнике очереди и переотправки переходишь к отправке следующего сообщения. Твое сообщение потеряно, даже при наличии в архитектуре MOM. Если МОМ требуется по архитектуре, то он либо рукописный либо ИЗ КАРОПКИ. Ответ очевиден. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:23 |
|
Зачем мы вообще используем JMS/MQ системы? (четверговый топик)
|
|||
---|---|---|---|
#18+
Alexey Tomin, Должен и будет ли - это две абсолютно разные вещи. В идеальном мире может быть. Но у нас все может случиться и гарантий доступности МОМ/брокера на 100% никто не даст. А если он откажет, то будут потеряны сообщения. Т.е. либо мы принимаем факт возможности потери сообщений, либо реализуем таки очередь на источнике с переотправкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 14:23 |
|
|
start [/forum/topic.php?fid=59&msg=40102712&tid=2120331]: |
0ms |
get settings: |
16ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
50ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
468ms |
get tp. blocked users: |
1ms |
others: | 6ms |
total: | 553ms |
0 / 0 |