Изменения документа Apache Active MQ

Редактировал(а) Alexandr Fokin 2022/12/12 11:36

От версии 6.1
отредактировано Alexandr Fokin
на 2021/12/24 11:34
Изменить комментарий: К данной версии нет комментариев
К версии 10.2
отредактировано Alexandr Fokin
на 2021/12/26 15:56
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,38 +1,38 @@
1 +**Компоненты:**
1 1  
2 -Основные объекты взаимодействия:
3 +* Producer - производитель сообщений.
4 +* Consumer - потребитель сообщений.
5 +* Queues - Очередь сообщений.
6 +В очередь могут писать несколько производителей.
7 +Очередь могут читать несколько потребителей одновременно, при сообщения будут распределяться между ними (а не дублироваться).
8 +После подтверждения прочтения сообщение удаляется из очереди.
9 +* Topics - Топик выполняет функцию широковещательного канала.
10 +Топик не хранит сообщения, а распространяет отправленное в него сообщение на всех подключенных к нему потребителей.
3 3  
4 -1) IConnection
5 -connection.Start()
12 +В рамках брокера используются следующие термины:
6 6  
7 -2) ISession
8 -connection.CreateSession()
14 +* Durability - свойство обозначающее, что сообщение сохраниться даже если нет ни одного подключенного потребителя.
15 +Можно сказать, что Queue обладает свойством Durability, а Topic нет.
16 +* Persistence - свойство обозначающее, что сообщение не будет потеряно в случае перезагрузки брокера (отчистки оперативной памяти).
17 +Подразумевает, что все сообщения будут сохранены в определенное хранилище - Message store.
18 +* Message store - хранилище сообщение. 
19 +В качестве хранилища может выступать как файловая система, так и сторонние реализации провайдеров хранилища (в том числе и базы данных).
20 +Допустимо использование топологии, когда к одному хранилищу могут быть подключены пара брокеров, причем один будет активным, а второй резервным и будет активирован и при выходе из строя первого.
9 9  
10 -3) IQueuq
11 -session.GetQueue(name)
22 +Брокер допускает использование транзакций, а именно чтение группы сообщение/отправки сообщений в рамках одной транзакции.
23 +При этом, если транзакция будет прервана по середине, то все сообщение, прочитанные в рамках этой транзакции, будут снова доступны для прочтения (не будут удалены).
12 12  
13 -4.1) IMessageProducer
14 -session.CreateProducer(session)
15 15  
16 -4.2) IMessageConsumer
17 -session.CreateConsumer(
18 - session,
19 - selector,
20 - false
21 - )
22 -
23 -Клиент:
24 -https://www.nuget.org/packages/Apache.NMS.ActiveMQ/ provides OpenWire
25 -https://www.nuget.org/packages/Apache.NMS.AMQP/ provides AMQP
26 -
27 -
28 28  **Материалы:**
29 29  
30 -Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
31 -https://habr.com/ru/post/471268/
32 -
33 33  Документация:
34 34  https://activemq.apache.org/components/nms/msdoc/1.6.0/vs2005/Output/html/N_Apache_NMS.htm
35 35  
36 -Выборка сообщений из очереди по условию. Selector
31 +Книга
32 +[[Understanding Message Brokers | O’Reilly>>doc:Книги.O’Reilly.Understanding Message Brokers | O’Reilly.WebHome]]
33 +
34 +Selector. Выборка сообщений из очереди по условию.
37 37  https://activemq.apache.org/selectors
38 38  
37 +Message Groups. JMSXGroupID
38 +https://activemq.apache.org/message-groups