首页 文章 精选 留言 我的

精选列表

搜索[rocketmq],共1401篇文章
优秀的个人博客,低调大师

RocketMQ问题排查思路

1、使用HTTP协议报错500。排查思路: 1). 是不是有tcp的producer在发送。 2). 是不是有大量的非法字符。建议单独建一个topic给http,然后再进行测试。 2、报没有权限: 1). 如果是主账号:确保GID和topic都是主账号创建; 2). 如果是子账号:确保GID是子账号创建,并且topic授权这个ak使用。 3.学会查看日志: ons.log日志保存路径:/{user.home}/logs/ons.log,其中{user.home}是指启动当前 Java 进程的用户的根目录 4.消息订阅类问题分析思路 1). 先看下程序是否正常运行,如有异常排查日志。如正常运行,检查消费端的消息堆积和订阅关系。如订阅关系不一致,纠正。如有堆积,看具体哪个消费端堆积,可以看堆栈及打jstack来分析。https://help.aliyun.com/knowledge_detail/54347.html 2). 消息接收不到,查看消息ID,通过消息查询去判断消息是否接收,如果显示”至少订阅一次“说明消息肯定被订阅到了,如果消息轨迹看不到,应该是消息轨迹公测存在一定的缺陷,以消息查询结果为准。 5.不保证消息一定不重复,但是保证消息一定不丢失。 6.事务消息会回查频率5秒一次 7..net仅支持Windows系统 8.消息验证中Tag是不生效的。 9.删除监控警报需要在所有账号下进行查看。 10.产品不建议再做二次封装,本身.net SDK的兼容性就不是太好。如果是一定要封装,请先使用SDK测试调通了再进行封装。务必使用64位的方式封装。 .net TCP协议开发,程序必须编译为64位,才能够调用,32位不支持 12.一个CID在消费的时候不管多少个进程、线程、机器,只能用一个tag,否则就会导致消息被不可预期的过滤掉。 13.客户端堆积的是指一次都未消费的堆积消息量,不包含重试的消息。另外报警必须保证消费端在线。 topic的消息类型为顺序消息,则不支持定时/延时消息和事务消息。 15.主账号授权给主账号只能通过STS 16.使用老版本的默认实例会导致发送错误,需要修改NAMESER_ADDR。 17..net中文乱码问题: 添加编码解码类: /// 编码解码测试类 /// </summary> public class base6tstring { public static string ToBase64String(string value) { if (value == null || value == "") { return ""; } byte[] bytes = Encoding.UTF8.GetBytes(value); return Convert.ToBase64String(bytes); } public static string UnBase64String(string value) { if (value == null || value == "") { return ""; } byte[] bytes = Convert.FromBase64String(value); return Encoding.UTF8.GetString(bytes); } } 发送: string myString = "Example message body测试"; myString = base6tstring.ToBase64String(myString); Message msg = new Message(factoryInfo.getPublishTopics(), "tagA", myString); 接收: Byte[] text = Encoding.Default.GetBytes(value.getBody()); string s = System.Text.Encoding.UTF8.GetString(text, 0, text.Length); Console.WriteLine(base6tstring.UnBase64String(s)); return ons.Action.CommitMessage; 18.当一条消息已被成功发送到服务端并完成持久化,此时出现了网络闪断或者客户端宕机,导致服务端对客户端应答失败。 如果此时生产者意识到消息发送失败并尝试再次发送消息,消费者后续会收到两条内容相同并且 Message ID 也相同的消息。https://help.aliyun.com/document_detail/44397.html消息重复消费的问题,在互联网场景下,无法规避,用户需要自行做幂等处理。 19.报错(The receipt handle you provided has expired.)消息被客户端获取到后,拿到的句柄没有在message.NextConsumeTime前删除,会报这个错误,一般来说是因为消费消息过慢导致的20.net sdk也有消费端的ons.log日志,如果遇到错误需要提工单,这个也可以打包提供下。// 设置日志路径 factoryInfo.setFactoryProperty(ONSFactoryProperty.LogPath, "C://log");21.接入点是有自动路由机制:1). 默认的实例是全局唯一的,这样系统根据默认实例的topic能自动路由到正确的接入地址2). 默认的实例的topic即便接入点配置的不对,也可以找到正确的接入地址的3). 新建的实例不行,新建实例是咱们改版后的部署模型,支持不同实例之间可以有同名的topic,这个时候必须指定对接入点地址22.至于osPageCacheBusyTimeOutMills,目前只有铂金版的才支持调整的。标准版本建议catch重试发送。23.使用管控API查询消息或者死信消息是被BASE64加密的,代码获取需要解密。final BASE64Decoder decoder = new BASE64Decoder();System.out.println(new String(decoder.decodeBuffer(response.getData().getBody()), "UTF-8"));

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册