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

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

От версии 2.1
отредактировано Alexandr Fokin
на 2020/01/31 13:40
Изменить комментарий: К данной версии нет комментариев
К версии 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,1 +1,1 @@
1 -Разработка.Очереди сообщений.WebHome
1 +Разработка.Брокеры сообщений.WebHome
Теги
... ... @@ -1,0 +1,1 @@
1 +Apache|ApacheActiveMq|БрокерСообщений
Содержимое
... ... @@ -1,25 +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
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. Выборка сообщений из очереди по условию.
41 +https://activemq.apache.org/selectors
42 +
43 +Message Groups. JMSXGroupID
44 +https://activemq.apache.org/message-groups