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

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

От версии 5.9
отредактировано Alexandr Fokin
на 2020/02/19 11:34
Изменить комментарий: Редактировать комментарий
К версии 11.1
отредактировано Alexandr Fokin
на 2022/01/03 19:27
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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