Size: a a a

2020 October 26

RM

Roman Mashchenko in pro.jvm
Roman Meerson
Ну логика простая, чтобы при автовайринге интерфейса выбиралась реализация помеченная как primary если нужно заинджектить что то другое то можно использовать инъекцию по классу или указать имя конкретного бина
Не встречал такого на практике в спринговых библиотеках, криво как-то получается, если отмечать класс как @primary так он скорее всего в package scan не попадёт, а если в конфигурации , то ее надо явно импортить, в спринг буте вообще принято такие вещи через @conditional решать и не создавать дублирующих бинов
источник

RM

Roman Meerson in pro.jvm
Roman Mashchenko
Не встречал такого на практике в спринговых библиотеках, криво как-то получается, если отмечать класс как @primary так он скорее всего в package scan не попадёт, а если в конфигурации , то ее надо явно импортить, в спринг буте вообще принято такие вещи через @conditional решать и не создавать дублирующих бинов
Ну вопрос же в том как механизм работает, а не как оно в действительности используется. Если нужно в своём коде переопределить бин из Спринга или из другой либы на свою реализацию то primary это довольно простой путь. Плюс conditional появились относительно недавно а primary были ещё в xml конфигах
источник

R

Ruslan in pro.jvm
Alexander Molochko
а какой тип exchange подходит для такого? direct? то есть у меня по факту сейчас есть две системы которые общаются ивентами по ребиту, мне нужно чтобы ни один месседж не был утерян ( то есть чтобы его именно забрали из очереди, не просто доставили)
Rabbit by design не гарантирует 100% доставку сообщений. Т.е. всегда есть риск потери. Если планируется гонять например финансовые данные без риска потери, смотрите на другие системы, которые jms полноценно поддерживают.
источник

AE

Alexandr Emelyanov in pro.jvm
Ruslan
Rabbit by design не гарантирует 100% доставку сообщений. Т.е. всегда есть риск потери. Если планируется гонять например финансовые данные без риска потери, смотрите на другие системы, которые jms полноценно поддерживают.
кашка
источник

R

Ruslan in pro.jvm
Что кашка? Не понял...
источник

L

Loljeene in pro.jvm
Ruslan
Что кашка? Не понял...
kafka
источник

NC

Nigerian Currywurst in pro.jvm
С подтверждениями полтора сообщения в секунду выходит)
источник

R

Ruslan in pro.jvm
Например. Так то хватает систем, подобрать можно под задачи.
источник

R

Ruslan in pro.jvm
Nigerian Currywurst
С подтверждениями полтора сообщения в секунду выходит)
Кафка? Зато надёжно. У нас система до 100к коммитов в базу разгонялась, кластер раббита даже не грелся, 5-15% нагрузки показывал.
источник

R

Ruslan in pro.jvm
Раббит простой и быстрый, но не гарантирует.
источник

А

Алексей in pro.jvm
Ruslan
Раббит простой и быстрый, но не гарантирует.
эм... А как же подтверждение доставки в кролике?
источник

R

Ruslan in pro.jvm
Оно есть
источник

А

Алексей in pro.jvm
тогда как не гарантирует?
источник

R

Ruslan in pro.jvm
Без него вообще трэш был бы
источник

R

Ruslan in pro.jvm
Алексей
тогда как не гарантирует?
Например отвал ноды в моменте может привести к потерям. Нет XA by design, после отправки ask может приклад рухнуть до фиксации сообщения в целевой базе. Посмотрите доку раббита, там есть секции.
источник

А

Алексей in pro.jvm
а такая же ситуация в кафке проблем не вызовет? Так-то мы можем сказать что полетевший жесткий на сервере где запущены кафка/рэббит тоже приведет к ошибке
источник

R

Ruslan in pro.jvm
При правильной конфигурации - в кафке, ibm mq, apache mq - не вызовет.
источник

А

Алексей in pro.jvm
ок. почитаю...
источник

NG

Nikita Gryzlov in pro.jvm
Ruslan
Например отвал ноды в моменте может привести к потерям. Нет XA by design, после отправки ask может приклад рухнуть до фиксации сообщения в целевой базе. Посмотрите доку раббита, там есть секции.
а чем ha-policy и федерация не HA?
источник

NG

Nikita Gryzlov in pro.jvm
> после отправки ask может приклад рухнуть до фиксации сообщения в целевой базе.

ну и слать ack до конца обработки сообщения в прикладной логике - это прям как-то ой. у вас все равно очередь, что вам мешает послать ack только тогда, когда вы убедились, что обработали входящее сообщение?
источник