前情:系统CPU有8核,性能测试发送1000个请求持续1分钟后,CPU使用率接近100%,平均负载达到80以上,CPU爆满一直不释放,一直占用CPU最大的是java程序
1.输入netstat -anp | grep 端口号 | grep ESTABLISHED | wc -l命令,显示为0
2.输入netstat -anp | grep 端口号 | grep TIME_WAIT | wc -l命令,显示为0
3.输入netstat -anp | grep 端口号 | grep CLOSE_WAIT | wc -l,显示为0
解决方法:修改elk日志系统架构,如下图:
为什么加了kafka呢?因为kafka可以解耦。我们来看一下没有使用kafka的高度耦合的大数据结构
1).每一个数据源都会有四个不同流向
2).每一个数据接收者都可能有四个不同来源
3).系统高度耦合,系统复杂度4*4=16
4).不利于程序开发、维护、升级
kafka解耦后的结构:
1).所有source只流向Kafka
2).所有target只从Kafka中取数据
3).系统高度解耦,系统复杂度412=8
4).开发和维护升级成本显著降低
最后一张图片参考来自:https://blog.csdn.net/qq_34321590/article/details/106456656