当前位置: 首页 > news >正文

重庆企业网站的推广西部数码网站助手4.0

重庆企业网站的推广,西部数码网站助手4.0,wordpress创意点赞,好看的旅游网站模板下载文章目录 前言一、什么是ActiveMQ二、ActiveMQ 服务器宕机怎么办#xff1f;三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结 前言 什么是ActiveMQActiveMQ 服务器宕机怎么办#xff1f;丢消息怎么办持节化消息非常慢消息的不均匀消费 一、什么是ActiveMQ a… 文章目录 前言一、什么是ActiveMQ二、ActiveMQ 服务器宕机怎么办三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结 前言 什么是ActiveMQActiveMQ 服务器宕机怎么办丢消息怎么办持节化消息非常慢消息的不均匀消费 一、什么是ActiveMQ activeMQ 是一种开源的实现了 JMS1.1 规范的面向消息(MOM)的中间件为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信 二、ActiveMQ 服务器宕机怎么办 这得从 ActiveMQ 的储存机制说起。 在通常的情况下非持久化消息是存储在内存中的持久化消息是存储在文件中的它们的最大限制在配置文件的 systemUsage 节点中配置。 但是在非持久化消息堆积到一定程度内存告急的时候ActiveMQ 会将内存中的非持久化消息写入临时文件中以腾出内存。虽然都保存到了文件里但它和持久化消息的区别是重启后持久化消息会从文件中恢复非持久化的临时文件会直接删除。 那如果文件增大到达了配置中的最大限制的时候会发生什么我做了以下实验 设置 2G 左右的持久化文件限制大量生产持久化消息直到文件达到最大限制此时生产者阻塞但消费者可正常连接并消费消息等消息消费掉一部分文件删除又腾出空间之后生产者又可继续发送消息服务自动恢复正常。 设置 2G 左右的临时文件限制大量生产非持久化消息并写入临时文件在达到最大限制时生产者阻塞消费者可正常连接但不能消费消息或者原本慢速消费的消费者消费突然停止。整个系统可连接但是无法提供服务就这样挂了。 具体原因不详解决方案尽量不要用非持久化消息非要用的话将临时文件限制尽可能的调大。 三、丢消息怎么办 这得从 java 的 java.net.SocketException 异常说起。简单点说就是当网络发送方发送一堆数据然后调 用 close 关闭连接之后。这些发送的数据都在接收者的缓存里接收者如果调用 read 方法仍旧能从缓存中 读取这些数据尽管对方已经关闭了连接。但是当接收者尝试发送数据时由于此时连接已关闭所以会 发生异常这个很好理解。不过需要注意的是当发生 SocketException 后原本缓存区中数据也作废了 此时接收者再次调用 read 方法去读取缓存中的数据就会报 Software caused connection abort: recv failed 错误。 通过抓包得知ActiveMQ 会每隔 10 秒发送一个心跳包这个心跳包是服务器发送给客户端的用来判 断客户端死没死。如果你看过上面第一条就会知道非持久化消息堆积到一定程度会写到文件里这个写 的过程会阻塞所有动作而且会持续 20 到 30 秒并且随着内存的增大而增大。当客户端发完消息调用 connection.close()时会期待服务器对于关闭连接的回答如果超过 15 秒没回答就直接调用 socket 层 的 close 关闭 tcp 连接了。这时客户端发出的消息其实还在服务器的缓存里等待处理不过由于服务器心 跳包的设置导致发生了 java.net.SocketException 异常把缓存里的数据作废了没处理的消息全部丢 失。 解决方案用持久化消息或者非持久化消息及时处理不要堆积或者启动事务启动事务后commit()方法会负责任的等待服务器的返回也就不会关闭连接导致消息丢失了。 四、持节化消息非常慢 默认的情况下非持久化的消息是异步发送的持久化的消息是同步发送的遇到慢一点的硬盘发送消息的速度是无法忍受的。但是在开启事务的情况下消息都是异步发送的效率会有 2 个数量级的提升。所以在发送持久化消息时请务必开启事务模式。其实发送非持久化消息时也建议开启事务因为根本不会影响性能。 五、消息的不均匀消费 有时在发送一些消息之后开启 2 个消费者去处理消息。会发现一个消费者处理了所有的消息另一个消费者根本没收到消息。原因在于 ActiveMQ 的 prefetch 机制。当消费者去获取消息时不会一条一条去获取而是一次性获取一批默认是 1000 条。这些预获取的消息在还没确认消费之前在管理控制台还是可以看见这些消息的但是不会再分配给其他消费者此时这些消息的状态应该算作“已分配未消费”如果消息最后被消费则会在服务器端被删除如果消费者崩溃则这些消息会被重新分配给新的消费者。但是如果消费者既不消费确认又不崩溃那这些消息就永远躺在消费者的缓存区里无法处理。更通常的情况是消费这些消息非常耗时你开了 10 个消费者去处理结果发现只有一台机器吭哧吭哧处理另外 9 台啥事不干。 解决方案将 prefetch 设为 1每次处理 1 条消息处理完再去取这样也慢不了多少。 总结 什么是ActiveMQActiveMQ 服务器宕机怎么办丢消息怎么办持节化消息非常慢消息的不均匀消费
http://www.dnsts.com.cn/news/218096.html

相关文章:

  • 网站建设谈单思路手机网页代码
  • 南京营销型网站制作网站群发手机短信
  • 那个网站做境外自由行便宜南充建设企业网站
  • 义乌网站建设公司排名网站的页面布局是什么样的
  • 网站建设排名优化自动生成代码
  • 乌兰察布做网站的公司wordpress 取消自适应
  • 广州市增城建设局网站电商平台投诉
  • 八年级做网站杭州做宠物网站的公司哪家好
  • 点播视频网站怎么建设四川省建设厅官方网站首页
  • 青海省网站建设公司哪家好房地产公司网站建设报价方案
  • 上海正规做网站公司电话网站交易平台
  • 自己做配图的网站html网站模板资源
  • 资阳网站建设方案wordpress 打包 exe
  • 凡科建站小程序asp.net 网站管理工具 遇到错误
  • 烟台网站建设联系企汇互联专业wordpress 清楚jq
  • 国际电子商务网站建设电商网站介绍
  • 旅游网站开发需求文档模板下载wordpress个性化后台
  • .电子商务网站规划泰兴网站建设公司
  • 网站产品内页设计蚂蜂窝网站分析
  • 可以做游戏的网站有哪些方面做网站推广的公司
  • 衡阳网站优化实时新闻在哪里能查到
  • 海川建设公司网站手机ps在线图片编辑
  • seo云优化seo教程 百度网盘
  • 答题网站怎么做驻马店市可以做网站的公司
  • 宁波企业建站程序成都建站免费模板
  • 电商网站域名规则加强人社局网站建设
  • 网站建设使用的什么语言西安网站开发培训价格
  • 以下属于网站的管理 更新 维护ui设计自学教程500集
  • 加强网站建设 统计局免费网站制作新闻
  • 网站建设通常用到哪些编程重庆建设摩托车股份有限公司官网