AMQ学习笔记 - 06. 可靠消息传送】的更多相关文章

概述 本文介绍JMS中可能发生消息故障的3个隐患阶段,以及确保消息安全的3种保障机制. 故障分析 在介绍可靠传送的确保机制之前,先分析消息在传送的过程中可能在哪个阶段出现问题. 1.两个跃点 跃点的含义在于消息的持有者发生变化,如发送使消息由Producer持有变成JMS Provider持有.在消息传送的过程中,共有2个跃点: 发送跃点Producer将消息发送到JMS Provider的目的地 接收跃点Consumer从JMS Provider的目的地获取消息 2.三个隐患阶段 在消息传送过…
机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actiongit@github.com:pbh…
iOS学习笔记06—Category和Extension 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类). 二.示例 1.声明类别 @interface NSString (CategoryDemo) -(NSNumber*)…
概述 消息选择器使用类似于SQL语法,为Consumer指定基于Message属性的筛选条件. 消息选择器 发送的时候,给消息添加一些属性:在接收的时候,根据属性进行过滤. API javax.jms.Message提供了一系列的方法,用于设置属性: setIntProperty(String name, int value):void设置int类型的属性 setStringProperty(String name, String value):void设置字符串类型的属性 setObjectP…
概述 客户端编程模型中,大部分的步骤都是相同的.将相同的部分做成模板,将不同的部分预留接口,实现者就只需要针对不同的部分提供实现. 设计 类图 发送方客户端 说明: 基于模板的思想,SendTemplate提供了消息发送的全局实现,但是在创建消息是调用了抽象的createMessage(Session)方法,这个方法留待子类实现. 还记得JMS客户端编程模型中的消息传送模式吗?这里保留了两个模式的发送部分,并分开定义sendToQueue.snedToTopic. 代码索引 SendTempla…
概述 基于ZooKeeper + ActiveMQ + replicatedLevelDB,在Windows平台的主从部署方案. 主从部署可以提供数据备份.容错[1]的功能,但是不能提供负载均衡的功能.   注: 容错:主服务器宕掉,再选出一台作为作为主服务器,来提供服务. 部署图   简单说明 ActiveMQ提供了队列.本地持久化的功能,ZooKeeper提供了主从选举的功能.Producers将消息发送给主从队列体系[1],Consumers从主从队列体系中获取消息. 注: [1] 主从队…
概述 客户端编程模型,是讲如何使用JMS API实现Java应用程序和JMS Provider的通信. 消息传送模式 消息传送模式又称为消息传送域,JMS API定义了两种模式:PTP和Pub/Sub. PTP 全称:Point-to-Point 中文:点对点 上图描述了这样的内容:Sender发送Message到代理维护的Queue,然后Receiver可以从这个Queue中获取这个Message. 这个模式的特点是: 一个Message只能交给一个Receiver:这里的Message像是一…
ActiveMQ 支持两种截然不同的消息传送模型:PTP(即点对点模型)和Pub/Sub(即发布 /订阅模型),分别称作:PTP Domain 和Pub/Sub Domain. 一.PTP消息传送模型 1.PTP(使用Queue 即队列目标) 消息从一个生产者传送至一个消费者.在此传送模型中,目标是一个队列.消息首先被传送至队列目标,然后根据队列传送策略,从该队列将消息传送至向此队列进行注册的某一个消费者,一次只传送一条消息.可以向队列目标发送消息的生产者的数量没有限制,但每条消息只能发送至.并…
概述 介绍中间件.MOM.JMS.ActiveMQ,及相互的关系. 中间件 由于业务的不同.技术的发展.硬件和软件的选择有所差别,导致了异构组件或应用并存的局面.要使这些异构的组件协同工作,一个有效的方式就是提供一个允许它们进行通信的层,该层即为中间件. 在概念上,中间件位于应用程序层与平台层(操作系统和底层网络服务)之间: 分类: 基于远程过程调用(Remote Procedure Call, RPC)的中间件允许一个应用程序中的过程调用远程应用程序中的过程,就好像它们是本地调用一样. 基于对…
类型断言: 语法:<目标类型的值>,<布尔参数> := <表达式>.( 目标类型 ) // 安全类型断言<目标类型的值> := <表达式>.( 目标类型 ) //非安全类型断言 x.(T),这里x表示一个接口的类型,T表示一个类型(也可为接口类型).一个类型断言检查一个接口对象x的动态类型是否和断言的类型T匹配. 类型断言分两种情况:第一种,如果断言的类型T是一个具体类型,类型断言x.(T)就检查x的动态类型是否和T的类型相同. 如果这个检查成功…