如何提升系统稳定性?

发布时间:2024年01月13日

存量时代,互联网公司新兴业务受挫,系统稳定的要求越来越高。

如何提升系统的稳定性呢?

先说结论

  1. 隔离:不同的业务使用的缓存 Redis,和 DB MySQL 做到物理隔离,确保单一业务宕机不影响其他业务。
  2. 加缓存:减少 DB 压力;缓存要支持动态扩容。
  3. 优化 DB 请求:能加缓存的都加缓存,减少 DB 压力;优化慢 SQL。
  4. 加机器:如果流量大,导致机器负载高的时候,扩容,可以接入 Docker,自动扩缩容。规模相对小的公司可以接入阿里云等公有云平台,借助云平台的能力自助扩缩容。

看起来很 low,但一般来说,大部分公司上面几点就够了。

但是从角色上来说,又不一样了

开发人员能做什么

优化代码:减少不必要的资源消耗,避免内存泄漏,提高代码的质量和可读性。

使用优秀的框架:使用成熟的框架能够提高开发效率,同时也能够保证项目的稳定性。

遵循设计模式:设计模式是一种被广泛认可的最佳实践,遵循设计模式能够提高代码的可维护性和可扩展性,从而提高项目的稳定性。

使用缓存:使用缓存可以减少对数据库的访问,从而提高系统的响应速度和稳定性。

数据库优化:对数据库进行优化可以提高系统的响应速度和稳定性,包括索引优化、表结构优化、查询优化等。

引入监控报警系统:监控报警系统可以及时发现系统的问题,从而及时处理,保证系统的稳定性。

外部系统高峰期维护:很多公司会使用很多的外部系统,比如:百度或者高的的地图、旷视的人脸识别之类的。高峰期对这些外部系统的调用量、QPS 也会暴涨,需要提前打招呼。

公司运维层面能做哪些

测试人员

引入自动化测试:自动化测试可以有效地发现代码中的问题,减少代码的错误率,从而提高项目的稳定性。

DBA

  1. 定期备份:定期备份可以避免数据丢失,保证系统的稳定性。
  2. DB MySQL 和 Redis 的异常监控,快速处理。

运维

  1. 容灾备份:针对 Java Web 项目,提供容灾备份是很有必要的。可以采用多机房容灾、多机器备份、数据加密等技术措施。如此一来,即使出现故障,系统仍然能够正常运行,从而提高系统的可用性和可靠性。

总结

虽然说得不够高大上,但是就这些大部分公司做的并不到位。

另外,说一句,技术其实并不需要高大上,适合最好,否则得不偿失。

文章来源:https://blog.csdn.net/Prepared/article/details/135574757
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。