• Для начала обсудим абстракцию. Аналогично любому промежуточному ПО в Java есть стандарт - JMS(Java Message Service)
    Стоит рассмотреть его по причине того, что в разработке используется именно JMS. Это абстракция и стандарт, без этого в программировании никуда.
  • Начнем с основных понятий и с интерфейса. Коммуникация между компонентами, использующими JMS, асинхронна (приложение не дожидается ответа на своё сообщение) и независима. JMS поддерживает две модели обмена сообщениями: «точка - точка» и «издатель-подписчик».
    • «точка - точка» Самое главное - Connection factory! CF - создает подключения (Объект Connection) с брокером. Connection создает сессию (Объект Session), а сессия создает очередь (Destination), производителя (Producer), потребителя (Consumer), сообщение (Message)
      Producer может класть сообщения в очередь, которая задается в конструкторе. Consumer может брать сообщения из очереди, которая также задается в конструкторе. Вот такой простой и понятный интерфейс.
    • «издатель-подписчик» Аналогично есть CF. СF - создает подключение (Объект TopicConnection) с брокером. TopicConnection создает TopicSession, а сессия также очередь и сообщения, но теперь вместо Producer и Consumer - издатель (Publisher) и подписчик (Subscriber). Подписчик подписывается на определённую «тему» (Topic, топик). Издатель публикует своё сообщение. Его получают все подписчики этой темы. Получатель (Клиент) должен работать и быть подписан в момент отправки сообщения.
  • Вот такой простой интерфейс позволяет, например, строить высоконагруженные банковские приложения, конечно, это всего лишь абстракция и самый сок находится в реализации этого интерфейса. Далее изучим несколько популярных реализаций и соответствующих им брокеров.
Коровкин Артём © 2022
email: artem.korovkin34@gmail.com
Яндекс.Метрика