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

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

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

Сводка

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Apache Active MQ
1 +Apache ActiveMQ
Содержимое
... ... @@ -1,44 +2,38 @@
1 -**Компоненты:**
2 2  
3 -* Producer - производитель сообщений.
4 -* Consumer - потребитель сообщений.
5 -* Queues - Очередь сообщений.
6 -В очередь могут писать несколько производителей.
7 -Очередь могут читать несколько потребителей одновременно, при сообщения будут распределяться между ними (а не дублироваться).
8 -После подтверждения прочтения сообщение удаляется из очереди.
9 -* Topics - Топик выполняет функцию широковещательного канала.
10 -Топик не хранит сообщения, а распространяет отправленное в него сообщение на всех подключенных к нему потребителей.
2 +Основные объекты взаимодействия:
11 11  
12 -----
4 +1) IConnection
5 +connection.Start()
13 13  
14 -В рамках брокера используются следующие термины:
7 +2) ISession
8 +connection.CreateSession()
15 15  
16 -* Durability - свойство обозначающее, что сообщение сохраниться даже если нет ни одного подключенного потребителя.
17 -Можно сказать, что Queue обладает свойством Durability, а Topic нет.
18 -* Persistence - свойство обозначающее, что сообщение не будет потеряно в случае перезагрузки брокера (отчистки оперативной памяти).
19 -Подразумевает, что все сообщения будут сохранены в определенное хранилище - Message store.
20 -* Message store - хранилище сообщение. 
21 -В качестве хранилища может выступать как файловая система, так и сторонние реализации провайдеров хранилища (в том числе и базы данных).
22 -Допустимо использование топологии, когда к одному хранилищу могут быть подключены пара брокеров, причем один будет активным, а второй резервным и будет активирован и при выходе из строя первого.
10 +3) IQueuq
11 +session.GetQueue(name)
23 23  
24 -Брокер допускает использование транзакций, а именно чтение группы сообщение/отправки сообщений в рамках одной транзакции.
25 -При этом, если транзакция будет прервана по середине, то все сообщение, прочитанные в рамках этой транзакции, будут снова доступны для прочтения (не будут удалены).
13 +4.1) IMessageProducer
14 +session.CreateProducer(session)
26 26  
27 -----
16 +4.2) IMessageConsumer
17 +session.CreateConsumer(
18 + session,
19 + selector,
20 + false
21 + )
28 28  
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 +
29 29  **Материалы:**
30 30  
30 +Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 2. ActiveMQ
31 +https://habr.com/ru/post/471268/
32 +
31 31  Документация:
32 32  https://activemq.apache.org/components/nms/msdoc/1.6.0/vs2005/Output/html/N_Apache_NMS.htm
33 33  
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. Выборка сообщений из очереди по условию.
36 +Выборка сообщений из очереди по условию. Selector
41 41  https://activemq.apache.org/selectors
42 42  
43 -Message Groups. JMSXGroupID
44 -https://activemq.apache.org/message-groups
XWiki.XWikiComments[0]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,2 @@
1 +Возможная проблема: неполное копирование необхоимых файлов из зависимого проекта.
2 +Добавить зависимость от библиотеки клиента в запускаемый проект.
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-06 18:39:30.30
XWiki.XWikiComments[2]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,1 @@
1 +Connection.Dispose() в том числе закрывает и финализирует созданные от него объекты ISession, IMessageProducer, IMessageConsumer
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-10 11:28:02.307
XWiki.XWikiComments[3]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,2 @@
1 +Для отправки сообщений (MessageProducer) не нужно вызывать метод Connection.Start.
2 +Для сихронного и ассинхронного приема - нужно.
Дата
... ... @@ -1,0 +1,1 @@
1 +2020-02-11 18:59:37.523