- 博客(310)
- 收藏
- 关注
原创 使用无界队列的线程池,在远程服务异常的情况下导致内存飙升怎么办?
只要有一个Worker异常挂掉,此时就会把这个worker从线程池里给挪出去,然后判断一下,如果当前线程数量 < corePoolSize,就会重新创建一个Worker和线程放入线程池中,自己再搞一个补位。可以考虑自己定制线程池,使用有界队列,不要使用无界队列,可以限制内存空间的使用,避免系统崩溃;无界队列,直接支撑前端的请求,不允许有界阻塞,到最后大不了就是系统崩溃。如果你提交到线程池的任务报错了,抛了异常出来,在线程池执行的过程中,Worker层面接收到一个异常,会直接throw抛出去。
2024-05-23 18:25:45 20
原创 设计一套Kafka到RocketMQ的双写+双读技术方案,实现无缝迁移!
同时你要观察一段时间,当你发现持续双写和双读一段时间之后,如果所有的Consumer系统通过对比发现,从Kafka和RocketMQ读取和处理的消息数量一致,同时处理之后得到的结果也都是一致的,此时就可以判断说当前Kafka和RocketMQ里的消息是一致的,而且计算出来的结果也都是一致的。当你的双写持续一周过后,你会发现你的Kafka和RocketMQ里的数据看起来是几乎一模一样了,因为MQ反正也就保留最近几天的数据,当你双写持续超过一周过后,你会发现Kafka和RocketMQ里的数据几乎一模一样了。
2024-05-23 17:51:15 230
原创 一次没有WHERE条件的SQL语句引发的OOM问题排查实践!
所以看到这一步基本就很明确了,就是Tomcat的工作线程处理一个请求的时候,发起了一个SQL语句,查出来了大量的数据,每条数据是一个HashMap,就是这大量的数据导致了系统的OOM。采用上述方法,当时我们对生产案例进行追踪,立马就定位到了是系统中的一个业务方法,在执行查询操作的时候,因为没有带上WHERE条件,直接查询出来了全部的上百万的数据,导致了内存的溢出。此时我们可以进入第二步,你可以深入的看看占用内存过多的对象是被谁引用的,哪个线程引用的,他们里面都是什么东西。
2024-05-22 14:35:59 382
原创 解释一下什么是Young GC和Full GC?
2、Full GC?Old GC?傻傻分不清楚3、Full GC4、Major GC5、Mixed GC。
2024-05-22 11:14:54 209
原创 如何解决电商平台中的商品分析系统分析热点商品过慢问题?
对于运营人员来说,需要统计的时间范围是灵活多变的,也许是统计某天,或者某几天内的热门商品列表。如果能更快地进行统计,根据其结果调整商品的展示策略,以及提前准备充足的库存,将会使收益最大化。但是由于我们统计的实在是太慢了,统计结果将无法及时呈现,也错过了最佳投放时间和备货时间,造成商品库存供应不及时。文件的读取和分析是串行的,也就是说,只有当一个日志文件处理完成之后,才会对下一个日志文件进行处理。该工具的统计依据是系统接口运行时产生的请求日志文件,它记录了收到请求的类型、商品的ID、请求时间戳等。
2024-05-21 17:56:19 274
原创 如何解决移动互联网短网址转换失败造成数据丢失问题?
上面的代码了给出了长网址转换为短网址的做法,但是如果要将短网址转化为长网址要怎么实现了?其实很简单,在上面的长短网址转换服务中,将长网址转换为短网址完成后,立马将长短网址的映射关系保存起来,比如保存到数据库中。然后用户访问时传递短网址地址,服务端会先去地址转换服务查询对应的长网址,对于地址转换服务的逻辑处理也很简单,直接去数据库里查询长短网址映射表,根据当前的短连接查询出对应的长网址。比如,用户在某网站发布一篇图文,那么肯定会生成该图文对应的长网址,同时大多数网站还会有一个对应的短网址,如图1。
2024-05-21 17:40:47 357
原创 如何解决互联网房产交易合同管理平台的性能低下问题?
对于平台最初的版本来说,为了赶进度,我们简单实现了这个合同上传的功能即可,不需要考虑太多性能问题。而且一开始用户量并不是很大,问题不会很大。但随着公司不断投入广告,对平台进行大力推广,用户量不断增多,这个时候,性能问题也会日渐严峻了。对于互联网产品,用户体验非常重要,因此对这个平台进行性能优化迫在眉睫。那具体要怎么来优化才好呢?
2024-05-20 22:21:40 382
原创 网关压测对比
况下压测的结果变化,压测结果有可⽐性;同时输出dstat -v。Nginx、SpringCloud Gateway 压测对比。每个场景都输出⼀个基本压测结果,然后在输出不同参数配置情。系统指标情况,查看JVM GC情况进⾏调优。
2024-05-19 22:54:41 268
原创 如何自己动手搭建真实生产环境ES集群
在阿⾥云上购买3台云主机,配置为8C16G,1亿数据量默认的40G磁盘可以满⾜使⽤。在云主机使⽤的安全组中打开9300、9800端⼝ 因为我们的es没设置认证信息,所以没有⽤默认的9200、9700端⼝。我们使⽤的是9000端⼝,还需要在云主机使⽤的安全组中打开9000端⼝。vim /etc/security/limits.conf(退出当前⽤户重新登录后⽣效)vim /etc/sysctl.conf(然后执⾏sysctl -p这条命令让配置)此次使⽤的版本为7.9.3。此次使⽤的版本为7.9.3。
2024-05-14 00:00:57 924
原创 python flask_restful “message“: “Failed to decode JSON object: None“
Werkzeug 版本过高。可以正常显示json数据了。
2023-11-10 11:47:47 1221
原创 基于KubeAdm搭建多节点K8S集群
k8s 搭建 流程 : CentOs => utils依赖 => docker =>kubeadm, kubelet , kubectl => master init => node join => 调配网络。–image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。–pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致。注:由于网络插件还没有部署,还没有准备就绪 NotReady,继续操作。
2023-10-08 21:49:35 885
原创 building and deploying a single-Master RocketMQ cluster
【代码】building and deploying a single-Master RocketMQ cluster。
2023-08-28 15:49:57 158
原创 vue基础-key的作用
有key属性,基于key来比较新旧虚拟DOM,移除key不存在的元素。最大限度尝试就地修改/复用相同类型元素。先产生新旧虚拟DOM,根据key比较。
2023-07-30 22:09:16 210
原创 vue基础-虚拟dom
本质是保存节点信息、属性和内容的一个JS对象 更新会监听变化的部分 给真实的DOM打补丁。在真实的document对象上,渲染到浏览器上显示的标签。
2023-07-30 18:50:09 249
原创 vue指令-v-on事件对象
传参,通过$event指代事件对象传给事件处理函数。vue事件处理函数中,拿到事件对象。无传参数,通过形参直接接收。
2023-07-26 23:22:18 223
原创 vue脚手架文件说明
node_modules 都是下载的第三方包public/index.html 浏览器运行的网页src/main.js webpack打包的入口src/APP.vue Vue页面入口package.json 依赖包列表文件。
2023-07-25 15:13:04 844
集桌面应用、命令行工具与 Web 应用于一体的全功能 MQTT 客户端工具
2023-07-31
jdk-8u151-linux-x64.tar.7z
2019-05-19
apache-activemq-5.15.0-bin.tar.7z
2019-05-19
angularJs需要导入的JS文件
2019-03-31
dubbox的jar包
2019-03-26
品优购建表语句
2019-03-24
mongodb安装包
2019-01-23
java实现FTP批量大文件下载
2019-01-15
JAVA开发常用文档
2018-12-22
vue 后台管理系统
2018-11-09
xenu web链接测试工具
2018-11-09
AdventureWorksDW2008R2
2018-11-08
redis win32andwin64
2018-09-28
spring Boot 入门
2018-09-27
JDK1.8版本
2018-04-03
JDK1.7版本
2018-04-03
apache-tomcat-6.0.32_xzfwoa
2018-02-05
jboss-4.2.0.GA
2018-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人