天天说要做性能优化,到底在优化什么? (2)

消息队列可以存储任务信息,保证不会丢失。单独消费队列的消息进行逻辑处理,如果想提高消费速度,也可以在队列的消费方使用线程池进行多线程消费,多线程消费也要避免消息丢失的情况,可以查看我的这篇文章:https://mp.weixin.qq.com/s/Bbh1GDpmkLhZhw5f0POJ2A

JVM 参数调整

JVM 参数的调整,一般情况下我们都不用怎么去调整。偶尔有些代码写的不好,导致内存溢出了,这个时候会去做一些调整和优化代码。

参数调整主要是去降低 GC 的导致的停顿问题,如果你的程序一直在 GC, 一直在停顿,你的接口自然就慢了。

只要没有频繁的 Full GC,在优化这块 JVM 的参数调整可以最后再做,优先以 SQL 优化这些为主。

加机器

加机器是最后的终极大招了,并发量上去的时候,你在怎么优化单机器和单数据库抗并发能力也是有限的,这个时候只能水平扩展了。

如果是创业初期,并且在快速发展,加机器是最直接的优化方式了,虽然说成本上去了,但是开发资源也是成本,节约下来可以实现更多的业务需求。等到中期稳定了再考虑架构,性能方面整体的优化和重构。

就像玩游戏一样,有装备的玩家才能所向睥睨啊,对于后端应用来说也是一样,高配的机器,高配的数据库配置,高配的缓存等。

关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud 微服务-全栈技术与案例解析》, 《Spring Cloud 微服务 入门 实战与进阶》作者, 公众号猿天地发起人。

我整理了一份很全的学习资料,感兴趣的可以微信搜索「猿天地」,回复关键字 「学习资料」获取我整理好了的 Spring Cloud,Spring Cloud Alibaba,Sharding-JDBC 分库分表,任务调度框架 XXL-JOB,MongoDB,爬虫等相关资料。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzfys.html