
解决方案
vvhaleCH
这个作者很懒,什么都没留下…
展开
-
日志处理方案
这时候可以把日志收集交给kafka,具体来说可以写一个aop切面去做日志消息生产者,然后配置一定数量的logstash做日志消息的消费者。此时aop切面影响了整体响应速度,也就是同步速度慢,所以要注意异步发送消息,将此日志发送作为一个任务交给一个并发队列,保证有序并且解耦。各个微服务的日志文件收集到logstash再到elasticsearch,最后kibana做可视化。缺点是每个服务节点都要有logstash,有冗余但是不会影响业务,毕竟是完全解耦的。1.ELK+KAFKA解决分布式架构下的日志收集。原创 2024-11-27 01:18:24 · 236 阅读 · 0 评论 -
高并发-前端层面
在外网中传输我们的数据,都有带宽限制,基本上一个网站,一个网页,静态资源会占用80%的带宽。2.对一些静态资源做压缩处理,比如js的min.js文件这种。1.用CDN,遵循就近原则让用户去最近的节点拿静态资源。2.使用CDN的缺陷:静态缓存资源刷新问题。1.对静态资源做二次压缩。原创 2024-11-27 01:16:15 · 273 阅读 · 0 评论 -
高并发-后端层面
可以设计这样一个架构,客户端请求到服务端,假设这些请求要2秒执行完,大量请求下服务端没有足够的CPU资源快速相应请求,就把当前服务端作为一个消息生产者,将消息投递给broker,broker再交给消费者去处理,当然不是每种业务都可以这种处理。其中作为生产者的服务端要尽量减少与broker的通信频率,所以要准备一个缓冲区,批量的将消息投递过去,要注意的问题就是可能会造成消息堆积,所以消费者可以考虑配置集群,批量消费消息。3.数据库层面:定位慢查询,进行sql语句优化、索引优化(索引遵循最左匹配原则);原创 2024-11-27 01:15:47 · 168 阅读 · 0 评论 -
高并发-运维层面
2.整合SkyWalking分布式追踪系统,实现服务器监控,以应对CPU飙高、内存溢出等问题。3.利用分布式追踪系统排查RPC远程调用过程中某链发生错误问题。4.分布式的告警系统也可以整合公众号将预警信息推给开发者。5.构建ELK+Kafka的分布式日志系统。以前做服务心跳,如果宕机了,脚本重启。1.接口集群化-保证高可用。原创 2024-11-27 01:14:15 · 100 阅读 · 0 评论 -
高并发-访问层面
1.做ddos高防,防止IP爆破。原创 2024-11-27 01:13:44 · 236 阅读 · 0 评论 -
CPU飙高怎么排查
找到对应服务的抽样器,如下,比较直观,所以业务中的线程最好有对应的名称,方便排查。CAS不合理设计,没有限制自旋次数;乐观锁的重试过程,没有限制重试次数。云服务器上的Redis没修改默认端口,被注入代码挖矿,建议关闭外网访问。并发量过大,比如服务端是tomcat的,访问量超过最大连接数。被ddos攻击,建议限流,ip黑名单,加验证码等。2.windows下有jvisualvm。1.可以使用阿里巴巴的Arthas插件。1.linux下常用的命令top -c。2.常见的CPU飙高的原因。原创 2024-11-27 01:13:20 · 255 阅读 · 0 评论