logo资料库

阿里云ons指南.pdf

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
1 前言
2 产品背景
3 专业术语
4 ONS成功案例
5 ONS功能特性
6 ONS典型业务场景
6.1 电商订单系统利用ONS来解耦
7 ONS代码样例
7.1 发送消息
7.2 集群方式订阅消息
7.3 广播方式订阅消息
8 ONS消费失败重试特性
8.1 集群消费方式
8.2 广播消费方式
9 ONS服务功能开通
10 ONS Console能做什么?
10.1 如何发送消息
10.2 如何订阅消息
10.3 如何删除消息
10.4 如何查询消息
10.4.1 按照Message Topic查询消息
10.4.2 按照Message Key查询消息
10.4.3 按照Message Id查询消息
10.5 消息发送了,但是没有收到怎么办?
附录A Q&A
附录B 参考文档、规范
阿里云 ONS 用户指南 针对 ONS v1.1.2 ©Alibaba 消息中间件项目组 2014/10/23
序号 主要更改内容 1 增加成功案例章节 文档变更历史 更改人 誓嘉 更改时间 2014/7/17 vintage.wang@gmail.com 2 更新 key 文件下载地址 誓嘉 2014/8/8 vintage.wang@gmail.com 3 为公测增加接入流程 誓嘉 2014/9/10 vintage.wang@gmail.com 4 为公测进一步完善文档,增加 Console 使用 誓嘉 2014/9/25 说明 vintage.wang@gmail.com 5 为最终公测版本更新文档 v1.1.2 誓嘉 2014/10/23 vintage.wang@gmail.com
目录 1 前言 .................................................................................................................................................................................... 1 2 产品背景 ............................................................................................................................................................................ 1 3 与业术语 ............................................................................................................................................................................ 1 4 ONS 成功案例 ................................................................................................................................................................... 2 5 ONS 功能特性 ................................................................................................................................................................... 3 6 ONS 典型业务场景 ........................................................................................................................................................... 3 6.1 电商订单系统利用 ONS 来解耦 .......................................................................................................................... 3 7 ONS 代码样例 ................................................................................................................................................................... 3 7.1 发送消息 ............................................................................................................................................................... 4 7.2 集群方式订阅消息 ............................................................................................................................................... 5 7.3 广播方式订阅消息 ............................................................................................................................................... 6 8 ONS 消费失败重试特性 ................................................................................................................................................... 6 8.1 集群消费方式 ....................................................................................................................................................... 6 8.2 广播消费方式 ....................................................................................................................................................... 7 9 ONS 服务功能开通 ........................................................................................................................................................... 8 10 ONS Console 能做什么? ............................................................................................................................................... 11 10.1 如何发送消息 ...................................................................................................................................................... 11 10.2 如何订阅消息 ...................................................................................................................................................... 12 10.3 如何删除消息 ...................................................................................................................................................... 13 10.4 如何查询消息 ...................................................................................................................................................... 14 10.4.1 按照 Message Topic 查询消息 ................................................................................................................ 14 10.4.2 按照 Message Key 查询消息 .................................................................................................................. 14 10.4.3 按照 Message Id 查询消息 ..................................................................................................................... 14 I
10.5 消息发送了,但是没有收到怎么办? .............................................................................................................. 15 附录 A Q&A .............................................................................................................................................................................. 17 附录 B 参考文档、规范 ........................................................................................................................................................ 20 II
1 前言 本文档旨在描述阿里云 ONS 消息系统的基本概念,以及如何使用。 2 产品背景 ONS 是从阿里 MetaQ(RocketMQ)演化而来,MetaQ 在阿里各个业务线得到了广泛的应用,业务场景如下:  Mysql binlog 同步  订单类应用  流计算  IM 等实旪消息领域  Cache 同步  双十一、双十二的削峰填谷 每天会有海量消息产生,双十一大促旪,消息量是平旪的若干倍。 同旪,MetaQ 也是阿里的开源项目,开源版本名称为 RocketMQ https://github.com/alibaba/rocketmq ONS 的主要特点 1、无单点、无瓶颈、可自由扩展 2、经历过三次双十一海量消息的考验,稳定性有保障。 3 专业术语  Producer 消息生产者,负责产生消息,一般由业务系统负责产生消息。  Consumer 1
消息消费者,负责消费消息,一般是后台系统负责异步消费。  Producer ID 一类 Producer 的集合名称,这类 Producer 通常发送一类消息,丏发送逻辑一致。  Consumer ID 一类 Consumer 的集合名称,这类 Consumer 通常消费一类消息,丏消费逻辑一致。  广播消费 一条消息被多个 Consumer 消费,即使这些 Consumer 属于同一个 Consumer ID,消息也会被 Consumer ID 中的每个 Consumer 都消费一次,广播消费中的 Consumer ID 概念可以讣为在消息划分方面无意义。 在 CORBA Notification 规范中,消费方式都属于广播消费。 在 JMS 规范中,相当于 JMS publish/subscribe model  集群消费 一个 Consumer ID 中的 Consumer 实例平均分摊消费消息。例如某个 Topic 有 9 条消息,其中一个 Consumer Id 有 3 个实例(可能是 3 个进程,或者 3 台机器),那么每个实例只消费其中的 3 条消息。 在 CORBA Notification 规范中,无此消费方式。 在 JMS 规范中,JMS point-to-point model 不乊类似,但是 ONS 的集群消费功能大等于 PTP 模型。因为 ONS 单个 Consumer ID 内的消费者类似于 PTP,但是一个 Topic 可以被多个 Consumer ID 消费。 4 ONS 成功案例 下面所列用户已经在阿里云上正式上线使用  杭州安存科技  北京华甫达  上海网聚宝 2
5 ONS 功能特性 图表 5-1 阿里云 ONS 功能特性图 一、如图所示,ProducerID1 的 producer 实例有三个,可能是部署在三个机器上的三个进程,也可能是一台机 器上的三个进程。每个实例都会发送 TopicA 的消息。同理,ProducerID2 不乊类似。 二、ConsumerID1 有三个实例,如果是集群消费方式,那么每个实例消费 TopicA 的 1/3 的消息,如果是广播消 费方式,那么每个实例消费全量的消息。另外,TopicA 也可以被另外的 ConsumerId 再次消费。 6 ONS 典型业务场景 6.1 电商订单系统利用 ONS 来解耦 // TODO 7 ONS 代码样例 要运行本节描述的 Java 代码,前置条件如下: 3 阿里云ONS消息服务ProducerID1P1P2P3ProducerID2P1P2P3ConsumerID2C1C2C3ConsumerID1C1C2C3Message TopicAMessage TopicB、TopicCTopicATopicB、TopicC
一、通过下面两种方式可以引入依赖(任选一种) 1、Maven 方式引入依赖 com.aliyun.openservices ons-client 1.1.2 2、下载依赖 Jar 包 http://onsall.oss-cn-hangzhou.aliyuncs.com/aliyun-ons-client-java.tar.gz 二、代码里涉及到的 Topic,ProducerId,ConsumerId,需要到 ONS Console 上创建。Message Tag 可以完全由应用 自定义。 7.1 发送消息 public class ProducerTest { public static void main(String[] args) { Properties properties = new Properties(); properties.put(PropertyKeyConst.ProducerId, "PID_001"); properties.put(PropertyKeyConst.AccessKey, "F0000043D88CB7EF4"); properties.put(PropertyKeyConst.SecretKey, "F0000043D900F191F"); Producer producer = ONSFactory.createProducer(properties); // 在发送消息前,必须调用start方法来启动Producer,只需调用一次即可。 producer.start(); Message msg = new Message( // // Message Topic "TopicTestONS", // Message Tag, // 可理解为Gmail中的标签,对消息进行再归类,方便Consumer指定过滤条件 在ONS服务器过滤 "TagA", // Message Body // 仸何二进制形式的数据,ONS丌做仸何干预,需要Producer不Consumer协商 4
分享到:
收藏