注意:以下文档只适用于TOP接口,请谨慎使用!
名词 | 描述 |
应用 | 零售云应用是一个云资源的载体。 |
ONS(MQ) | 消息队列RocketMQ |
消息同步 | 消息推送业务组件 |
注:订阅消息的ecs和ons 实例需绑定至同一个应用,绑定完成后10分钟生效。
切换至资源视图(一定要切换至资源视图,否则没有权限创建实例)
创建ONS实例
1. 切换回需要订阅或发送消息的应用所在的业务域,本例子切换回聚石塔demo应用
2. 未关联MQ实例视图(无法看到没有权限的mq)
3. 关联MQ实例
4. 实例关联成功(关联成功后表示当前应用的ecs就有了发送和订阅消息的权限)
5. 创建Topic
6. 创建Group
7. 获取AK/SK,发送消息以及订阅消息,具体使用方式移步 ONS使用DEMO
从左侧菜单栏打开组件中心,在下图消息同步组件上,点击启用。
如果当前账号进入消息组件之前没有开通ONS,页面会弹出开通链路,用户点击后可开通ONS。
在开通完成后,刷新当前页面即可。
选择需要订阅消息的appkey,这里的appkey列表是当前登录账号在开放平台注册的appkey列表,选择appkey后,点击管理消息列表,即可进入订阅列表。
选择消息后,直接订阅。 或者进入已订阅消息列表取消订阅。 订阅完成后,在ONS中即可看到对应的MQ Topic
(注意:对于在控制台订阅的消息,杭州和张北会进行双写,如果需要关闭杭州写,请提交工单)
进入MQ控制台,即可看到系统创建的mq实例,默认名字为taobao_sys_jst_instance,如果看不到实例列表,请先根据ONS使用文档,绑定资源。
在Topic管理列表,可看到创建的MQ Topic。
本小节基于“您已经通过阅读前面的小节已经在张家口创建了Topic、GID等资源”的前提,说明如何使用MQ的Java客户端来进行消息收发。
务必将 ons-client 客户端升级为最新版本(JAVA:1.8.0.Final、C++:1.1.2、.Net:1.1.3),前往客户端版本说明查看最新版本说明,最新版本的客户端在稳定性以及性能上都会有一定的提升。
迁移至张家口以后,收发消息前您需要读取如下的配置:
1)获取AK、SK,具体参见绑定资源小节,即后续要配置在代码中的PropertyKeyConst.AccessKey、PropertyKeyConst.SecretKey的值;
2)Topic所在实例的接入点信息,即后续要配置在代码中的 PropertyKeyConst.NAMESRV_ADDR 的值;
【获取方式】:消息队列RocketMQ–实例管理–获取接入点信息–示例代码。
3)获取Topic、GID,即后续配置在代码中的消息Topic、PropertyKeyConst.GROUP_ID的值;
【获取方式】:消息队列RocketMQ–Topic管理/消息队列RocketMQ–Grou管理。
说明:MQ近期做了改版,在创建GID(原CID)时不再和Topic进行绑定,同一个安全域中的GID可订阅用户拥有订阅权限的所有Topic,这层绑定关系只需要在代码中进行配置即可。
参考MQ Demo文档,修改上一小节中获取的配置即可快速实现消息收发。
FAQ:
ecs无法访问ons排查FAQ:
1)根据本篇迁移文档自查。
2)ecs和ons 实例是否关联到一个应用内。
3)发起请求的ecs只支持张家口vpc网络。
4)是否用关联应用的ak/sk发起请求。
5)关联是否已经超过10分钟,关联授权有10分钟的缓存时间。