jms架构

Before reading this post, please go through my previous at “JMS Administered Objects and JMS Message” to understand some JMS Basic concepts.

在阅读本文之前,请仔细阅读我以前的“ JMS管理对象和JMS消息”以了解一些JMS基本概念。

In this post we are going to discuss about JMS Architecture that is how JMS Systems interact each other Asynchronously.

在本文中,我们将讨论JMS体系结构,即JMS系统如何彼此异步交互。

发表简短的目录: (Post Brief TOC:)

  • JMS API ArchitectureJMS API架构
  • Common Steps in a Messaging System邮件系统中的常见步骤
  • High-Level JMS Architecture高级JMS架构
  • Low-Level JMS Architecture低级JMS架构
  • JMS API ArchitectureJMS API架构

JMS体系结构 (JMS Architecture)

The following diagram shows a Typical Messaging System/JMS System Architecture in detail:

下图详细显示了典型的消息系统/ JMS系统体系结构:

NOTE:-
Both JMS Messaging models( P2P Model and Pub/Sub model) follow the same Architecture. They only differ in Destination types, which are used to exchange messages.

注意:-
两种JMS消息传递模型(P2P模型和Pub / Sub模型)都遵循相同的体系结构。 它们仅在用于交换消息的目标类型上有所不同。

邮件系统中的常见步骤: (Common Steps in a Messaging System:)

  • System Administrator uses JMS Provider provided Admin Console and configures all required administered objects like ConnectionFactory and Destinations in JNDI Repository of JMS Provider.系统管理员使用JMS Provider提供的管理控制台,并在JMS Provider的JNDI存储库中配置所有必需的管理对象,例如ConnectionFactory和Destinations。
  • Application Developer writes Producer and Consumer application and deploy it into Server.Application Developer编写Producer和Consumer应用程序并将其部署到Server中。
  • When client access JMS Sender component(program), JMS Sender lookups Administered Objects from JMS Provider JNDI Register and send messages to the Destination (example Queue).当客户端访问JMS Sender组件(程序)时,JMS Sender从JMS提供程序JNDI查找托管对象,然后将消息发送到目的地(示例队列)。
  • JMS Destination (either Queue or Topic) holds all JMS Messages (which are sent by JMS Sender) until they are consumed by Consumer.JMS目标(队列或主题)保留所有JMS消息(由JMS Sender发送),直到被使用者使用为止。
  • When client access JMS Receiver component(program), JMS Receiver lookups Administered Objects from JMS Provider JNDI Register and receive messages from the Destination (example Queue).当客户端访问JMS接收器组件(程序)时,JMS接收器从JMS提供程序JNDI查找托管对象,并从目标(示例队列)接收消息。
  • If the Messaging system(that is Server) crashes for some reasons, then System Administrator uses JMS Provider Admin Console to monitor, find the root cause of the problem, and restore messages into JMS Destinations.如果消息传递系统(即服务器)由于某些原因而崩溃,则系统管理员将使用JMS Provider Admin Console进行监视,查找问题的根本原因,并将消息还原到JMS目标中。
  • If there are any undelivered JMS Messages in Destinations (because of some Message Contract between Messaging systems), then System Administrator uses JMS Provider Admin Console to fix those message contract issues and re-send them into Destinations so that target Consumer can receive those messages and process them.如果目标中有任何未交付的JMS消息(由于消息系统之间存在某些消息协定),则系统管理员将使用JMS Provider Admin Console修复这些消息协定问题并将其重新发送到目标,以便目标使用者可以接收这些消息并处理它们。
  • If we use Durable or Persistent Destinations, then JMS Server uses JMS Stores to store undelivered messages.如果我们使用持久目标或持久目标,那么JMS Server将使用JMS存储来存储未传递的消息。
  • Durable or Persistent Destination stores messages until they deliver to all Subscribers and receive ACK from them.持久目标或持久目标存储消息,直到它们传递到所有订户并从它们接收ACK。
  • JMS Stores may be some kind of Flat Data files or some JMS Servers uses some kind of databases to store messages. Flat Data files may be XML files or text files.JMS存储可能是某种平面数据文件,或者某些JMS服务器使用某种数据库来存储消息。 平面数据文件可以是XML文件或文本文件。

NOTE:-
In Java EE 7 based applications, JMS Clients (JMS Sender or Receiver) do not lookup administered objects from JMS Provider.

注意:-
在基于Java EE 7的应用程序中,JMS客户端(JMS Sender或Receiver)不会从JMS Provider查找受管理的对象。

Instead, JMS Provider will inject them into JMS clients at required places by using Dependency Injection. We will discuss on this technique in advanced topics.

相反,JMS Provider将通过使用依赖注入将它们注入到所需位置的JMS客户端中。 我们将在高级主题中讨论此技术。

高级JMS架构 (High-Level JMS Architecture)

Typical JMS Applications have the following High-Level Architecture.

典型的JMS应用程序具有以下高级体系结构。

JAVA Sender Application uses JMS API to create Connection with JMS Server, create JMS Message and Send those to Destination.

JAVA Sender应用程序使用JMS API创建与JMS服务器的连接,创建JMS消息并将其发送到目的地。

In the same way, JAVA Receiver Application uses JMS API to create Connection with JMS Server, receive JMS Message and Send ACK (Acknowledgement) to Sender.

以相同的方式,JAVA接收器应用程序使用JMS API与JMS服务器创建连接,接收JMS消息并将ACK(确认)发送给发件人。

低级JMS架构 (Low-Level JMS Architecture)

Typical JMS Applications have the following Low-Level Architecture.

典型的JMS应用程序具有以下低级体系结构。

As shown in the above diagram, we can use same JMS Application in any JMS Provider with some minimal configurations at Server side.

如上图所示,我们可以在任何JMS提供程序中使用相同的JMS应用程序,并在服务器端进行一些最少的配置。

JMS API架构 (JMS API Architecture)

JMS API follows almost similar architecture. First Creating Connection with JMS Server then preparing Message/Receiving Message, process Message and closing Connection.

JMS API遵循几乎类似的体系结构。 首先使用JMS Server创建连接,然后准备消息/接收消息,处理消息并关闭连接。

The JMS Sender API Architecture

JMS Sender API架构

The JMS Receiver API Architecture

JMS接收器API架构

We will discuss JMS Sender and Receiver API in-depth in my coming posts.

我们将在我的后续文章中深入讨论JMS Sender和Receiver API。

That’s it all about JMS Architecture. We will discuss some more JMS Concepts in my coming posts.

关于JMS体系结构就是这样。 我们将在我的后续文章中讨论更多的JMS概念。

Please drop me a comment if you like my post or have any issues/suggestions.

如果您喜欢我的帖子或有任何问题/建议,请给我评论。

翻译自: https://www.journaldev.com/9768/jms-architecture-and-jms-api-architecture

jms架构

jms架构_JMS架构和JMS API架构相关推荐

  1. 4 种主流的 API 架构风格对比

    欢迎关注方志朋的博客,回复"666"获面试宝典 本文讨论了四种主要的 API 架构风格,比较它们的优缺点,并重点介绍每种情况下最适合的 API 架构风格. 两个单独的应用程序需要中 ...

  2. 四种主流的 API 架构风格对比

    来源 | InfoQ 本文讨论了四种主要的 API 架构风格,比较它们的优缺点,并重点介绍每种情况下最适合的 API 架构风格. 两个单独的应用程序需要中介程序才能相互通信.因此,开发人员经常需要搭建 ...

  3. 万字长文解析:分布式架构、SOA、微服务架构、API网关、ESB服务总线架构之间的关联及演进

    1架构演进 架构十五年:改变的是形态,不变的是目的 业务驱动架构形态变化 过去十几年,随着互联网发展以及业务的多样化,系统的架构也在不断发生变化,总体上来说大体经历了从单体应用架构-垂直应用架构-分布 ...

  4. avos win32 UI api 架构

    迄今为止 ,上海 amlogic 公司强力推出的dpf,mediabox,stb, dtv, pmp 等主要产品线,涉及 音视频,图片解码的众多领域,其中自主研发的 avos软件开发平台更是为其 IC ...

  5. Java互联网架构-如何设计服务接口API限流功能

    API 概念的出现,远远早于个人计算机的诞生,更不用说网络的诞生了.在公用数据处理的早期,为了一个应用能够与其它系统交互,开发者便已开始设计可公开访问并描述清晰的"接入点".早在那 ...

  6. 【Airplay_BCT】Bonjour API架构

    Bonjour API 架构 OS X 和 iOS 为 Bonjour 服务应用程序提供了多层应用程序编程接口 (API): Foundation 框架中的 NSNetService 和 NSNetS ...

  7. java技术架构选型方案报告.pdf,技术架构选型方案报告

    <技术架构选型方案报告>由会员分享,可在线阅读,更多相关<技术架构选型方案报告(16页珍藏版)>请在人人文库网上搜索. 1.最高院执行项目 技术架构选型方案 Fantasy 2 ...

  8. 【软考系统架构设计师】2018下系统架构师综合知识历年真题

    [软考系统架构设计师]2018下系统架构师综合知识历年真题 [2018下架构真题第一题:绿色] 01.在磁盘调度管理中,应先进行移臂调度,再进行旋转调度.假设磁盘移动臂位于21号柱面上,进程的请求序列 ...

  9. 【微服务架构】微服务与SOA架构(3)

    前文: [微服务架构]微服务与SOA架构(1) [微服务架构]微服务与SOA架构(2) 比较架构特性 组件(component)是软件中的一个单位,具有定义良好的接口.定义良好的角色/责任集合.组件是 ...

最新文章

  1. 迁移学习之VGG16和VGG19
  2. (DOM艺术) 实用的动画
  3. HTML5元素周期表
  4. 嵌入式研发人员的核心竞争力浅谈 .
  5. JavaWeb完整项目要用到的专业技能
  6. SAP UI5 应用 index.html 里 data-sap-ui-resourceroots 指令的含义和作用
  7. html界面等待状态,html 等待界面
  8. 快递取件码生成软件_一种自动生成取件码的快递柜及其使用方法与流程
  9. 富士康工业互联:生产口罩优先用于内部防疫 预计对经营业绩影响较小
  10. 我的docker随笔13:docker源码编译进阶篇
  11. python判断不等_Python黑魔法笔记第六关:消灭该死的重复(下)
  12. 从主机 Windows 上无法远程访问 Linux 的 Tomcat 服务器解决方法
  13. java jre 配置_JRE的安装及环境变量配置
  14. 【学习资料JS】Vue官方文档下载
  15. 20162327WJH2016-2017-2《程序设计与数据结构》课程总结
  16. centos7.5安装Jenkins
  17. linux下view如何修改字符串,Linux下view命令的使用
  18. 马王堆汉墓帛书‧老子乙本——德经
  19. SMS短信解码举例(一)
  20. 如何简单实用AWS的 AWS Educate Starter Account 账号玩转aws云

热门文章

  1. 跳跃回溯____寻找最长平台
  2. 朋友,决定了就去做.
  3. jquery判断自己是父节点的第几个子节点
  4. Java8-2-Lambda表达式实战-一句话实现Map中按照Value排序
  5. fft_fft_control
  6. Copy_on_write的简单实现
  7. Python 第七篇:socket编程
  8. delphi操作xml学习笔记 之一 入门必读
  9. 擦地机器人毕业设计_救援机器人毕业设计
  10. python画数学函数_Python 绘制你想要的数学函数图形 !