Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 14746|Отговор: 1

Разликата между activemq Queue и Topic е, че

[Копирай линк]
Публикувано в 14.07.2017 г. 9:59:30 ч. | | | |
Queue и Topic са два модела за съобщения, поддържани от JMS:
        1. Модел на съобщения от точка до точка (PTP):
        При този модел на съобщения едно приложение (т.е. създателят на съобщението) може да изпрати съобщение към друго приложение (т.е. потребителя на съобщението). В този модел на доставка типът на дестинацията на съобщението е опашка (т.е. екземплярът на клас за имплементация на интерфейса Destination се създава от екземпляра на интерфейса Session чрез извикване на метода createQueue и въвеждане на името на опашката). Съобщението първо се доставя до конкретна опашка от страната на сървъра за съобщения, а оттам се доставя до потребител, който слуша тази опашка. Същата опашка може да свързва няколко производители на съобщения и потребители на съобщения, но едно съобщение може да бъде доставено само до един потребител на съобщение. Ако няколко потребители на съобщения слушат съобщенията в опашката, JMS сървърът определя кой потребител на съобщения получава следващото съобщение въз основа на принципа "първи дошъл, пръв дошъл". Ако никой потребител на съобщения не слуша опашката, съобщението остава в нея, докато потребителят не се свърже с нея. Този модел на съобщения е мързелив или анкетиращ модел в традиционния смисъл. В този модел съобщенията не се изпращат автоматично към потребителя на съобщението, а се заявяват от опашката от потребителя на съобщението.
        2. Модел на публикуване/абониране (публикуване/подредакция) на теми:
        С този модел на съобщения приложенията могат да изпращат едно и също съобщение до множество потребители на съобщения. В този модел на доставка типът на destination съобщение е темата (т.е. екземплярът на клас за имплементация на интерфейса Destination се създава от екземпляра на интерфейса Session чрез извикване на метода createTopic и въвеждане на името на темата). Първо съобщението се публикува на конкретна тема в сървъра за съобщения от производителя на съобщението, който след това го доставя на всички потребители, абонирани за темата. Тематичните цели също подкрепят дългосрочни абонаменти. Дългосрочен абонамент означава, че потребителят е записан в целта на темата, но потребителят може да бъде неактивен, когато съобщението достигне до целта. Съобщението ще бъде получено, когато потребителят отново стане активен. Ако никой от потребителите не е регистриран в дадена тематична дестинация, темата запазва съобщения само за неактивни потребители, които са се абонирали за дългосрочен абонамент. За разлика от PTP модела за съобщения, моделът на pub/sub позволява на множество абонати по тема да получават едно и също съобщение. JMS задържа съобщението, докато всички абонати на темата го получат. Моделът за съобщения чрез публикации/субтитри е по същество модел на push. В този модел съобщенията се излъчват автоматично и потребителите на съобщения не е необходимо активно да искат или анкетират теми, за да получат нови съобщения.
        Конкретните разлики са следните:

вид
Тема
Опашка
Обща информация
Публикувай Абонирай се съобщения Публикувай абонаментни съобщения
Точка до точка
Няма държава
Данните за темата по подразбиране са без състояние.
Данните от опашката се запазват като файл на MQ сървъра по подразбиране, например Active MQ обикновено се съхранява под $AMQ_HOME\data\kr-store\data. Може да бъде конфигуриран и като база данни.
Гаранция за целостта
Няма гаранция, че всяка публикувана от издателя информация ще бъде приета от абоната.
Опашката гарантира, че всяко парче данни може да бъде получено от получателя.
дали посланието ще бъде изгубено
Обикновено, когато издател публикува съобщение по дадена тема, само подредакцията, която слуша адреса на темата, може да получи съобщението. Ако няма слушане на субредитите, темата се губи.
Изпращачът изпраща съобщение до целевата опашка, а получателят може да получава съобщения в тази опашка асинхронно. Съобщенията в опашката няма да се губят, ако няма получател, който да ги приеме за момента.
Политика за приемане на съобщения
Политика за публикуване и получаване на съобщения "едно към много" – множество субредити, които слушат един и същ адрес на темата, могат да получават съобщения, изпратени от издателя. Субредитът получава известие до mq сървъра
Политики за публикуване и получаване на съобщения едно към едно, съобщения, изпратени от подател, могат да бъдат получени само от един получател. След като получателят получи, MQ сървърът уведомява MQ сървъра, че е получен, и MQ сървърът изтрива или предприема други действия върху съобщенията в опашката.





Предишен:Разлика между Google AdSense и Google AdWords
Следващ:.net/c# Taobao през групата на влакове [изходен код]
 Хазяин| Публикувано в 29.03.2018 г. 13:09:01 ч. |

Процесът на доставка на опашка за съобщения в JMS е следният:



За режима Queue издателят публикува съобщение, а получателите по-долу го получават в ред на опашка, например, ако са публикувани 10 съобщения, двама получатели A и B ще получат общо 10 съобщения без дублиране.

Процесът на тематично съобщение в JMS е показан по-долу:



За тематичния режим, ако издател публикува съобщение и има двама получатели А и Б за абониране, тогава се публикуват 10 съобщения, а А и Б получават по 10 съобщения.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com