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

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

От версии 6.1
отредактировано Alexandr Fokin
на 2021/12/24 11:34
Изменить комментарий: К данной версии нет комментариев
К версии 11.2
отредактировано Alexandr Fokin
на 2022/11/27 22:49
Изменить комментарий: Update document after refactoring.

Сводка

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Apache ActiveMQ
1 +Apache Active MQ
Содержимое
... ... @@ -1,38 +1,44 @@
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 +В рамках брокера используются следующие термины:
9 9  
10 -3) IQueuq
11 -session.GetQueue(name)
16 +* Durability - свойство обозначающее, что сообщение сохраниться даже если нет ни одного подключенного потребителя.
17 +Можно сказать, что Queue обладает свойством Durability, а Topic нет.
18 +* Persistence - свойство обозначающее, что сообщение не будет потеряно в случае перезагрузки брокера (отчистки оперативной памяти).
19 +Подразумевает, что все сообщения будут сохранены в определенное хранилище - Message store.
20 +* Message store - хранилище сообщение. 
21 +В качестве хранилища может выступать как файловая система, так и сторонние реализации провайдеров хранилища (в том числе и базы данных).
22 +Допустимо использование топологии, когда к одному хранилищу могут быть подключены пара брокеров, причем один будет активным, а второй резервным и будет активирован и при выходе из строя первого.
12 12  
13 -4.1) IMessageProducer
14 -session.CreateProducer(session)
24 +Брокер допускает использование транзакций, а именно чтение группы сообщение/отправки сообщений в рамках одной транзакции.
25 +При этом, если транзакция будет прервана по середине, то все сообщение, прочитанные в рамках этой транзакции, будут снова доступны для прочтения (не будут удалены).
15 15  
16 -4.2) IMessageConsumer
17 -session.CreateConsumer(
18 - session,
19 - selector,
20 - false
21 - )
27 +----
22 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
34 +Kafka vs JMS (на примере ActiveMQ)
35 +https://krocodl.livejournal.com/1251486.html
36 +
37 +Книга
38 +[[Understanding Message Brokers | O’Reilly>>doc:Книги.O’Reilly.Understanding Message Brokers | O’Reilly.WebHome]]
39 +
40 +Selector. Выборка сообщений из очереди по условию.
37 37  https://activemq.apache.org/selectors
38 38  
43 +Message Groups. JMSXGroupID
44 +https://activemq.apache.org/message-groups
XWiki.XWikiComments[0]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,2 +1,0 @@
1 -Возможная проблема: неполное копирование необхоимых файлов из зависимого проекта.
2 -Добавить зависимость от библиотеки клиента в запускаемый проект.
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-02-06 18:39:30.30
XWiki.XWikiComments[2]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,1 +1,0 @@
1 -Connection.Dispose() в том числе закрывает и финализирует созданные от него объекты ISession, IMessageProducer, IMessageConsumer
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-02-10 11:28:02.307
XWiki.XWikiComments[3]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,2 +1,0 @@
1 -Для отправки сообщений (MessageProducer) не нужно вызывать метод Connection.Start.
2 -Для сихронного и ассинхронного приема - нужно.
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-02-11 18:59:37.523