ons消息中间件费消息的时候,有没有超时设置的

您还没有登录,快捷通道只有在登录后才能使用。 还没有帐号? 赶紧
ons消费消息的时候,有没有超时设置?
在线时间2小时
ons消费消息的时候,有没有超时设置的?如果有,在哪里可以设置?
在线时间2小时
Reons消费消息的时候,有没有超时设置?
在线时间3小时
Reons消费消息的时候,有没有超时设置?
同好奇,如果消费失败/异常了。这个消息是不是就丢掉了。
访问内容超出本站范围,不能确定是否安全
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
您目前还是游客,请
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
&回复后跳转到最后一页数加&大数据分析及展现
数加&大数据应用
管理与监控
阿里云办公
培训与认证
域名与网站(万网)
数加&人工智能
数加&大数据基础服务
互联网中间件
开发者工具
消息队列 MQ
&&&&&&&&&查询消费状态
查询消费状态
更新时间: 21:59:39
本接口限企业铂金版客户专用,请前往查看详情。
描述OnsConsumerStatus 接口可以查询指定Consumer ID的详细状态数据,包含订阅关系检查,消费 TPS 统计,负载均衡状态,消费端连接等。
使用场景消费者状态查询接口用于定位Consumer ID的详细状态,一般用于在粗略判断消费堆积以及客户端在线情况后,需要排查消费异常的原因时调用.可以判断出指定消费组(CID)的订阅关系是否一致,负载均衡是否正常,以及在线客户端的 Jstack 信息等。
注意:消费者状态查询接口需要调用后端大量接口完成数据聚合,因此查询速度慢,不建议频繁调用。
请求参数列表
OnsRegionId
当前查询 MQ 所在区域,可以通过 ONSRegionList 方法获取
OnsPlatform
该请求来源,默认是从 POP 平台
PreventCache
用于 CSRF 校验,设置为系统当前时间即可
ConsumerId
需要查询的消费端 CID
是否查询详细信息
NeedJstack
是否打印 JStack 信息
返回参数列表
为公共参数,每个请求独一无二
ConsumerStatusDo
ConsumerStatusDo 数据结构
集群总的消费堆积
ConsumeTps
总消费 TPS
LastTimestamp
最后更新时间
ConsumeModel
SubscriptionSame
订阅关系是否一致
RebalanceOK
客户端 Rebalance 是否正常
ConnectionSet
List(ConnectionDo)
该集群当前在线客户端信息
DetailInTopicList
List(DetailInTopicDo)
各个 Topic 的消费情况
ConsumerConnectionInfoList
List(ConsumerConnectionInfoDo)
该集群在线客户端详细信息,包含 Jstack、消费 RT 时间等信息
ConnectionDo 数据结构
消费实例的 ID
ClientAddr
该消费实例的地址和端口
消费端语言
消费端版本
DetailInTopicDo 数据结构
Topic 名称
该 Topic 消费总堆积数
LastTimestamp
最后更新时间
ConsumerConnectionInfoDo 数据结构
消费实例的 ID
Connection
客户端语言
客户端版本号
ConsumeModel
消费类型,集群和广播两种
ConsumeType
从何处消费
ThreadCount
消费线程数
StartTimeStamp
LastTimeStamp
最后更新时间
SubscriptionSet
List(SubscriptionData)
订阅关系集合
RunningDataList
List(ConsumerRunningDataDo)
实时状态统计
List(ThreadTrackDo)
Jstack 堆栈信息
SubscriptionData 数据结构
订阅的 Topic 名称
订阅该 Topic 的子类别 Tag 表达式
SubVersion
订阅关系版本号,为自增 long 型
List(String)
订阅的 Tag 集合
ConsumerRunningDataDo 数据结构
ConsumerId
订阅方的 ConsumerId 名称
订阅的 Topic 名称
消费 RT 时间,单位 ms
消费消息成功的 TPS 统计
消费消息失败的 TPS 统计
FailedCountPerHour
每小时内消费失败的消息数统计
ThreadTrackDo 数据结构
List(String)
Jstack 堆栈信息字符串
OnsConsumerAccumulate:查询消费堆积OnsConsumerConnection:查询消费方客户端连接
public static void main(String []args) {
String regionId = "cn-hangzhou";
String accessKey = "XXXXXXXXXXXXXXXXX";
String secretKey = "XXXXXXXXXXXXXXXXX";
String endPointName ="cn-hangzhou";
String productName ="Ons";
String domain ="ons.cn-hangzhou.aliyuncs.com";
*根据自己需要访问的区域选择 Region,并设置对应的接入点
DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
} catch (ClientException e) {
e.printStackTrace();
IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
IAcsClient iAcsClient= new DefaultAcsClient(profile);
OnsConsumerStatusRequest request = new OnsConsumerStatusRequest();
*ONSRegionId 是指你需要 API 访问 MQ 哪个区域的资源.
*该值必须要根据 OnsRegionList 方法获取的列表来选择和配置,因为 OnsRegionId 是变动的,不能够写固定值
request.setOnsRegionId("daily");
request.setPreventCache(System.currentTimeMillis());
request.setAcceptFormat(FormatType.JSON);
request.setConsumerId("CID_Mingduan");
request.setDetail(true);
request.setNeedJstack(false);
OnsConsumerStatusResponse response=iAcsClient.getAcsResponse(request);
OnsConsumerStatusResponse.Data data =response.getData();
List&OnsConsumerStatusResponse.Data.ConnectionDo& connectionDoList = data.getConnectionSet();
List&OnsConsumerStatusResponse.Data.DetailInTopicDo& detailInTopicDoList =data.getDetailInTopicList();
List&OnsConsumerStatusResponse.Data.ConsumerConnectionInfoDo& consumerConnectionInfoDoList =data.getConsumerConnectionInfoList();
System.out.print(data.getOnline()+"
"+data.getTotalDiff()+"
"+data.getConsumeTps()+"
data.getLastTimestamp()+"
"+data.getDelayTime()+"
"+data.getConsumeModel()+
"+data.getSubscriptionSame()+"
"+data.getRebalanceOK());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
消息队列(Message Queue,简称 MQ)是阿里巴巴集团...
消息队列 Kafka(MQ for Kafka)秉持开放、共享的...
阿里云消息服务(Message Service,简称 MNS)是...
本文导读目录
以上内容是否对您有帮助?
更新不及时
缺少代码/图片示例
太简单/步骤待完善
更新不及时
缺少代码/图片示例
太简单/步骤待完善
感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到PostgreSQL , 流式处理 , 无流入数据超时异常
流计算有个特点,数据流式写入,流式计算。
但是有一种情况,可能无法覆盖。例如电商中的 收货超时,退款处理超时 事件的流式监控。因为数据都不会再写进来了,所以也无法触发流式 ...
使用MaxCOmpute python&SDK读取ODPS上一张表,做一些处理后,写入另外一张表,读取和写入都是多线程的。遇到问题1.&多线程处理时,每个线程每次循环(每次循环处理100条数据)均新建了一个odps连接,有没有可能是 ...
一个后台常驻 job 通过 redis 的 brpop 阻塞读取消息时,设置的超时时间较长。
list($key,$row)=$redis-&brPop($queue_name,3600); //超时时间为1小时
但是在实际的使用中发现很短时间 ...
ons消费消息的时候,有没有超时设置的?如果有,在哪里可以设置? ...
浏览:1377
ons消费消息的时候,有没有超时设置的?如果有,在哪里可以设置?
昨天还好好的,可是今天发送消息的时候图片消息可以正常发送,但是文字消息发不出去了。 错误消息是EMErrorServerTimeout,连接服务器超时 而且奇怪的是我重新获取会话的所有消息是包含我发送出去的这条,但是接收方收不到 我明天就要提交了。。今天出这样的问题。。麻烦大神解答一下了~~~ ...
Windows是一个消息驱动的操作系统,在系统中发生的所有消息均需要通过消息处理过程(或叫窗口过程)进行处理。由于C++给我们在程序设计中带来更多的灵活性(如继承、重载、多态等),所以我们都希望能够使用C++的类来封装Windows中的窗口过程函数,但是 ...
上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。
&这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用 ...
传98柔情版》,作为国产单机游戏无法被超越的传奇,已经永远留在了我们这代人的心中。那是一个永远无法被取代的,最最唯美的梦。
从这节笔记开始,我们就开始讲解游戏输入消息的处理,开始人机交互,开始真正意义上的游戏开发。
这一节里 ...
,项目中遇到这个需求,google上搜索到了一 大堆,但是写的都比较简单,做个demo还行,用在项目中还是不够完善。自己写了一个例子,有不完善之处,欢迎大家指正。
需要注意的地方:有三个方面
如何控制超时机制
如何处理异常
如何处理 ...
问题现象CentOS 实例出现 DNS 解析超时的情况。
原因分析因 CentOS 6 和 CentOS 7 的 DNS 解析机制变动所致,2017 年 2 月 22 日以前创建的 ECS 实例或使用 2017 年 2 月 22 日前的自定义镜像创建的 ...
QN.fetch支持timeout超时处理吗
网络连接,一般习惯了在提交中开启定时器,在RunL中取消定时器, 但是当我new了多个对象提交了多个任务后,任务可能是排队过来, 最后几个定时器已经提交,前几个下载时间很长,这时如何处理连接超时? 我来回答 ...
如何处理 CentOS DNS 解析超时? ...
开启了12345端口的策略,但是链接过程中还是出现超时现象,用telnet测试12345端口,确实是可以访问的,zabbix的UI界面也是链接超时,于是查资料,说jvm在监控tomcat的时候,除了12345端口外还会随机开启两个端口,提供相关的服务,于是 ...
最近开发中遇到一个需求,需要从多个系统请求数据(外部系统通过WebService公布接口),所有的请求完成后,将这些数据集合再做统一处理。
但是,外部系统的请求有可能会返回错误或者很长使用才能返回数据。
我如何设置|判断,对于假定超过(5)秒未返回数据的请求,就中断它或者跳过它,继续执行后面的语句?希望大家能给我一点思路或建议。不胜感激。 ...
上一节我们讲解了键盘消息处理相关的知识。键盘加鼠标作为目前人机交互方式依旧的主流,在讲完键盘消息处理之后接着讲鼠标消息处理,自然是理所当然的。
&这一节主要介绍各种鼠标消息的处理方式以及一些相关函数的运用方法,然后用 ...
在网络操作中,经常会由于各种原因引起网络连接超时,究竟何为网络连接超时?
网络连接超时:在程序默认的等待时间内没有得到服务器的响应
Qt 中的网络连接超时
如何处理超时
封装类 ...
的情况不常见,但程序在检测超时时仍然可能因为回绕而导致错误。&
&&& linux提供了4个宏来比较节拍计数,它们能正确地处理节拍计数回绕。&
共有9560页
你可能感兴趣因业务发展需要现在的系统不足以支撑现在的用户量,于是我们在一周之前着手项目的性能优化与分布式部署的相关动作。
现在的系统是基于RabbitHub(一套开源的开发时框架)和Rabbit.WeiXin(开源的微信开发SDK)开发的一款微信应用类系统,主要业务是围绕当下流行的微信元素,如:微官网、微商城、微分销、营销活动、会员卡等。
关于RabbitHub详情请戳:
关于Rabbit.WeiXin详情请戳:
现在的系统部署在两台物理服务器、一台云服务器上,其中云服务器部署着总站(用户信息的总站,单点登录)、ChunSunCloud(微信开放平台请求转发)项目,一台物理服务器为主要的负载服务器(数据库+web容器iis),另外一台则是一台热备服务器,主要在程序更新时使用。
新的部署方案
现在另购了两台云服务器,一台作为数据库服务器、另外一台则配合之前的一台云服务器担任着负载服务器的角色,因为现在迁移刚进行了一半,详细的部署情况会在这个阶段的事务完成之后再与大家分享。
这一次分享的内容
基于Redis的Session共享实现
基于阿里云开放消息服务(ons)的消息队列
开源地址:
Session共享
在之前一直使用ASP.NET State service来解决Session共享的问题,无奈看事件日志时经常报出超时等异常,这一次花了一些时间使用了Redis实现了Session共享。
Distributed.SessionProvider.Redis
基于SessionStateStoreProviderBase无缝对接ASP.NET中的Session。
在Web.config中配置Reids服务器地址和SessionProvider
在&appSettings&下配置key为RedisServer的项,value为redis的服务器地址,如果修改了redis的默认端口号请加上端口号,例:
在&system.web&节点下配置SessionProvider
Type为:Distributed.SessionProvider.Redis.RedisSessionStateStoreProvider,Distributed.SessionProvider.Redis,例:
在没有执行SetSession时GetSession是取不到值的。
在执行了SetSession之后GetSession是可以取到值的。
Code如下:
之前的项目中使用了SignalR做了一个简单的消息队列,无奈不是非常稳定,所以这一次打算替换掉消息队列,目前使用了阿里云的ONS,该组件还没有与现有系统对接,只是做了实现所以后期改动性较大,大家按需使用。
Distributed.MessageQueue
一个抽象的消息队列,集成了Aliyun ONS &阿里云开放消息服务&。
在设计消息队列时由于不确定后期是否继续使用阿里云的ONS,所以在核心部分进行了抽象,不直接依赖阿里云ONS的SDK,只是做了适配,所以在后期变更消息队列时比较容易,有动手精神的童鞋可以自行扩展。
抽象部分的设计结构如下:
IMessageQueueFactory:消息队列工厂,用于创建 生产者和消费者实例。
IConsumer:消费者,提供消息订阅。
IProducer:生产者,消息发送。
IConnection:连接接口,主要用于保证连接只被开启一次和关闭一次。
整体设计:
Consumer Code:
Producer Code:
QQ群:(RabbitHub)
关于这篇文章中的内容:RabbitHub、微信SDK、Session共享、消息队列、分布式有兴趣的可以入群或者私信我一起探讨。
阅读(...) 评论()发布于 03/26 19:44
产生的原因:网络不可达问题。
网络超时之后我们可以做的只有两件事,1 停止(回滚,但对于系统来说影响特别大) 2 继续(另发送到别的服务消费端)
一般我们采用第二种处理方式,但是要经过网络,必然会出现消息重复问题。
最好的解决方法是:
恰好不需要——幂等操作
S * S = S (某个操作不管重复多少次,结果都一样)。
幂等消息去重:
保证有个唯一ID标记每一条消息
保证消息处理成功与去重表日志同事出现
代价:去重代价是去重日志的写入,数据校验,多台机器对去重表的维护。
ONS消息与事物转账设计难点:
如何保证消息发送与Bob账户减钱同时成功或同时失败?
消息处理超时的解决?
消息处理失败如何解决?
尽量保持消息接受者的幂等性
但是对于非幂等的消息消费端:要记录日志表,内次执行时进行日志校验。
当消息接收者处理失败时,能挽回失败的方法之一是系统,但是系统回滚的开销往往是很大的。
还有一种方式是人工处理,当事件发生的概率 比 写代码挽回失败Bug的概率还要小,这样我们就需要考虑是否使用人工处理了。
利用努力送达模型,失败后再重新发往mq中,重新进行消费,尽量保证数据处理成功。努力送达模型是系统希望来进行这样的设计的。
消息系统:解耦 异步&最终一致性 并行
ONS 和其他消息系统不一样的部分:高吞吐量 高并发。
面向于失败的系统: 消息安全性, 消息堆积能力 消息吞吐量 和 延迟&(crash崩溃)
系统的关键特性: topic、tag、消息组(订阅组:动态将消息通过一个配置文件配置组的名字,动态的归属到某一个组内,能保证消息发送者 和 消息订阅者可以自动的扩展 或 减容)
代价:消息重复问题,消息乱序问题。
支持事物的消息模式
& 著作权归作者所有
人打赏支持
码字总数 559606
消息队列调研 消息系统简介 本次主要调研业界使用广泛的两款消息队列——RabbitMQ, Kafka, 以及阿里云的提供的两个服务, MNS和ONS. RabbitMQ RabbitMQ 是使用Erlang编写的一个开源的消息队...
该如何是好 ?
1、 聚石塔准入架构 如果塔内的系统与商家IDC非淘系业务系统进行交互,无法满足上述应用架构准入规则的要求,但必须提交塔内系统与塔外系统数据交互的业务场景及字段说明,平台审核通过后,开...
新栋BOOK ?
转自:https://github.com/alibaba/RocketMQ/wiki/rmqvskafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,...
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为...
阅读目录 1、阿里云ONS介绍 2、系统环境、问题和解决过程 3、资源与工具 Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员、同事和朋友的协助下,...
老朱第八 ?
RocketMQ与Kafka对比(18项差异) 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步...
莫问viva ?
消息中间件的产生主要是为了达到以下目的: 异步 解耦 最终一致性 并行 下面我们来看针对同一件事情,不同的处理办法: 过年了拜年发微信: 普通青年:编辑微信,群发给所有人。 文艺青年:编...
哲别0 ? 03/26 ?
顺序消息:消息的有序是 消息消费时,能够按照发送的顺序进行消费。 例如:假如生产者产生的两条消息M1 、M2 要保证两条消息的顺序来消费应该怎么做,我们可能想到这样的场景: M1发送到S1 ...
哲别0 ? 03/26 ?
沈询,阿里巴巴中间件&稳定性平台资深技术专家,在淘宝工作八年间,主要负责的产品有淘宝分布式数据库(TDDL/DRDS)、分布式消息系统(Notify/ONS)等,故对整个分布式的互联网架构比较了解。本...
雪夜凋零 ? 06/26 ?
备注: 1.如果您此前未接触过RocketMQ,请先阅读附录部分,以便了解RocketMQ的整体架构和相关术语 2.文中的MQServer与Broker表示同一概念 分布式消息系统作为实现分布式系统可扩展、可伸缩性...
tantexian ?
没有更多内容
加载失败,请刷新页面
17.1 MySQL主从介绍 MySQL主从的概念 o MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 o MySQL主从是...
影夜Linux ? 今天 ?
在工作中,有很多时候,我们需要使用自动化脚本远程安装软件或者执行程序。此时必须要实现免密码登录才好做相应操作。 博主今天就详细的分享Linux之间的ssh免密码登录配置过程,帮助小白们理...
em_aaron ? 今天 ?
二分查找 二分查找 一般而言,对于包含n个元素的列表,用二分查找最多需要$\log_2 n$步,而简单查找最多需要n步。 $\lg 100$ 相当于"将多少个10相乘的结果为100" 对数运算是幂运算的逆运算 ...
yysue ? 今天 ?
今天被人问了下乐观锁和悲观锁,突然在脑子里好模糊,但又感觉以前很熟悉的东西竟然忘得这么干净。所以恶补加记录一下。 乐观锁和悲观锁是对于数据库并发情况下产生的两个对立的概念,所以首...
小海bug ? 今天 ?
最近有搭建构建服务器服务器环境。 先搭建了git,然后用key-genrator -t -C "code.example.com" 在gitlab上注册公钥 拉取了项目代码 安装了jdk,maven git pull mvn clean install 中间经历过...
miaojiangmin ? 今天 ?
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 数组例题: 例题1: 申请String字符串数组,并拿...
凯哥学堂 ? 昨天 ?
9.6/9.7awk 9.6 awk上: 支持分段 例如,passwd文件比较有规律,以冒号作为间隔。那我们可以用awk来分段匹配。就是root为一段,数字为一段这样吧他匹配出来 比grep sed的强大之处在于可以以段...
王鑫linux ? 昨天 ?
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,有内存或磁盘两种存储方式,支持分布式集群,但是不建议使用,而是采用替代方案:使用Redis或者Memcache缓存实现。 接下来我们...
干干 ? 昨天 ?
简易的btrace需求 偶现的方法执行慢,我们是可以用jstack捕捉到的,但是慢到什么地步却是不一定知道的,现在就需要在不重启应用的情况下,获取方法执行的时间。 需求特点 应用不重启 获取方法...
xpbob ? 昨天 ?
介绍 IP是TCP/IP协议栈中最核心的协议,TCP、UDP、ICMP和IGMP都基于IP协议传输数据 IP协议的两个重要特点: 不可靠:不保证IP数据报成功传输到目的地,可靠性由上层保障 无连接:不维护数据报...
loda0128 ? 昨天 ?
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定取消删除此文章吗?
亲,自荐的博客将通过私信方式通知管理员,优秀的博客文章审核通过后将在博客推荐列表中显示
确定推荐此文章吗?
确定推荐此博主吗?
聚合全网技术文章,根据你的阅读喜好进行个性推荐
指定官方社区
深圳市奥思网络科技有限公司版权所有

我要回帖

更多关于 ons消息中间件 的文章

 

随机推荐