1、消息传送的优点
a、异构集成, 使不同平台, 不同开发语言的系统相互通信
b、缓解系统瓶颈
使用一个同步组件处理众多请求,如果请求量大的话, 肯定会阻塞,响应很慢,如果先将请求发送到一个消息传送系统,然后该系统再将请求分发给多个消息侦听器组件,这样就缓解或消除了单独采用点对点同步连接带来的系统瓶颈
c、提高可伸缩性
异步,并发可以提高执行效率,但是最终还是要对数据库进行操作, 数据库可处理有限的并发语法,所以最终还会受到数据库的限制
d、体系结构灵活性和敏捷性
使用消息传递机制,消息生产者或是客户端组件都不会知道接收组件使用的是哪种编程语言或平台,组件或服务位于何处,组件或服务实现的名称是什么,使用不同级别的抽象,更加容易地替换组件和子系统,提高体系结构的敏捷性。
2、异步传送消息:发送者不需要等待接收者接收或处理该消息,它可以自由发送并持续进行处理。
过程:应用程序使用一个简单的api来构建一条消息,然后再将该消息转发给面向消息的中间件,以便传送给一个或多个预定接收者。
3、消息传送模型:点对点模型(一对一)、发布/订阅模型(一对多)。
4、点对点支持异步“即发即弃”消息传送方式,又支持同步请求/应答消息传送方式。点对点比发布/订阅模型具有更强的耦合性, 发送者通常会知道消息将被如何使用,会知道谁将接收消息。点对对支持负载均衡,它允许多个接收者侦听同一队列,并以此来分配负载。多个接收者,只有一个可用的接收者消费一次,而且仅一次。
5、JMS只是消息传送的一种接口,规范, 而不是一种实现, 有不同的厂商对其有实现
6、企业系统可以添加、删除生产者,消费者,可以将已经部署好的系统,动态改变消息路由
7、一个网关接收系统,可以接收采购订单,然后将订单转换为适用于遗留ERP系统的格式,将调用ERP系统进行处理(1.5.8、构建动态系统)
8、可将来源不同的订单系统来统一处理, 然后再统一调用ERP系统
9、RPC是是同步的过程,调用 一个远程过程时, 调用者将被阻塞,直到该过程完成并将控制权返回给调用。调用者与被调用者紧密偶合,因为客户端被阻塞,所以它无法继续工作, 直到服务器做出响应为止,这个特性导致出现相互高度依赖,其中一个系统的失效会对其他系统产生影响。虽然RPC在许多场景中表现优秀,但是系统对系统的处理过程当中, 它的同步、紧密耦合等本质特性是一个严重的缺陷。大多数企业下可能会有多个系统, 多个系统之间的关系是many-to-many
10、消息传送机制基本思想:规定应用程序之间的通信应该采用异步方式。将各部分连接在一起的代码假定是一条单向消息,它不需要立即从另一个应该程序那里得到各应。换句话说,也就是调用者系统没有出现阻塞现象。一旦一条消息被发出, 消息发送者就能够转身其他任务,它不必等待这条消息的响应。这是RPC和异步消息传送之间的主要区别。对于理解消息传送系统的优点很重要。
11、在一个异步消息传送系统中, 每个子系统都不存在和其他系统的耦合,它们通过消息传送服务器进行通信,因此,某个子系统出现故障,并不会妨碍其他子系统的运行。
12、JMS提供了保存并转发机制, 如果预定消费者当前不可用,低层消息服务器就会将输入的消息写到一个持久存储器中, 然后,当可用时, 再将消息发给预定消息者。
相关推荐
首先,AWS SDK for Java提供了对AWS全系列服务的访问接口,包括计算、存储、数据库、分析、机器学习、安全等。在1.2.12版本中,SDK支持的服务有: 1. **Amazon S3(Simple Storage Service)**:提供云存储解决方案...
这些服务也可能在Java库中被实现,以便开发者可以轻松地集成到他们的应用中。 为了使用这个"onvif-java-lib-master",开发者首先需要解压文件,然后将库导入到他们的Java项目中。接下来,他们可以参考库提供的API...
5. **编程实践**:开发者可能在学习或实践中遇到了与Java和QQ服务整合相关的问题,比如授权流程、数据同步、错误处理等。 6. **应用开发**:这个项目可能是一个桌面应用、移动应用或者Web应用,允许用户通过Java界面...
Java消息服务(第二版),Java开发者学习消息中间件的必读书籍,JMS!!!!
- **高可用**:通过集群部署和主备切换保证服务的稳定性,消息的多副本策略保证数据安全性。 - **消息分发**:使用Pull和Push两种模式进行消息分发,Pull模式由消费者主动拉取,Push模式由服务器推送,适应不同...
一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一...
- **JMS(Java消息服务)**:实现异步通信和解耦的中间件技术。 - **Spring框架**:Java EE的主流开发框架,包括依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性。 4. **理论基础** - **面向对象...
这个"java-ee-warehouse"压缩包很可能包含了一系列的Java EE学习资源,如源代码、教程文档、示例项目等。在深入探讨Java EE的知识点之前,我们先了解一下Java EE的基本概念。 Java EE是Sun Microsystems(现已被...
在这个“Java客户端服务器程序学习笔记”中,我们将深入探讨这一主题,包括如何设计、实现和交互这两个关键组件。 首先,客户端是用户与系统进行交互的部分,它发送请求到服务器并接收响应。服务器端则处理这些请求...
`jpush-api-java-client-3.3.0.zip`是一个包含Java客户端SDK的压缩包,用于在服务器端集成极光推送服务,以便于通过Java代码来推送消息。 `JPushService.java` 文件很可能是服务端的核心接口类,包含了推送操作的...
这个SDK旨在帮助Java开发者轻松集成钉钉的服务,实现微应用的开发,以提升工作效率和团队协作。 首先,我们来了解什么是SDK。SDK是一组工具、库和文档的集合,它允许开发者访问特定平台或服务的功能,以便于构建...
在IT行业中,Web服务安全是至关重要的,尤其是在企业级应用中。本文将深入探讨如何使用CXF框架结合ws-security标准来实现对Java客户端调用Web服务的安全接口。...通过学习和实践,你可以增强你的Web服务安全开发能力。
JavaSpaces 是 Java 语言中的一种分布式...通过理解其基本概念和操作,我们可以利用`Javaspace---Deduct-master`这样的示例来学习如何在实际应用中使用JavaSpaces发送和接收消息,从而构建更加灵活和高效的分布式系统。
Java消息服务,第二版,是全面地介绍了标准的API,支持“信息” - 在网络上的计算机之间的关键数据的软件到软件交流。您将学习如何的JMS可以帮助你解决许多建筑的挑战,如不同的系统集成和应用,提高可扩展性,消除...
J2EE是一个为开发企业级应用提供服务的平台,它包括一系列的标准服务和应用程序接口,用于支持企业级应用的构建,如事务管理、安全性、消息服务等。 J2ME是为嵌入式设备和移动电话等小型设备设计的Java平台,它比...
总的来说,JPush API Java Client是Java开发者与JPush服务交互的重要工具,通过深入理解和使用这个客户端,开发者可以更好地实现消息推送功能,提升用户体验,同时充分利用JPush的各项高级特性,如精准推送、自定义...
总之,这个"rabbitmq-java"项目是一个使用Java语言与RabbitMQ进行通信的应用实例,涉及到了AMQP协议、Maven构建工具、IntelliJ IDEA项目配置以及RabbitMQ的核心概念,如生产者、消费者、交换机、队列和消息确认机制...
本书深入浅出地讲解了jms1.1规范的底层技术、java类和接口、编程模型及其不同实现等java消息服务(jms)和消息传送机制关键技术。通过对支持点对点和发布/订阅“消息传送”的标准api的完全解读及具体实例,介绍了...
- **远程服务调用**: 使用 Blazeds 的 Remoting API 实现与 Java 服务端的远程方法调用。 - **实时消息传递**: 利用 Blazeds 的 Message Broker 功能实现实时消息推送。 #### 四、总结 通过上述步骤,我们可以构建...