9.系统监控
大型系统的服务模块众多,经常会因为各种原因出现进程挂掉,网络质量不好,机器宕机等现象,我们设计的系统应该具备监控上报和告警的能力,运维和开发能够通过监控报表实时的查看系统的运行状态 。服务一旦出现问题能够及时发现,通过自动化处理,或者人工介入处理,从而达到缩短系统的不可用时间,提高可用性 。
常见的监控指标有:CPU、带宽、内存使用率、网络连接状态,系统调用错误,成功率,PV,UV等 。
谈了主要的应用治理,解析来要说说数据治理,它对于提高系统的响应效率也非常重要 。
10.数据缓存
当读写的并发数越来越大时,数据库很容易成为系统的瓶颈,因此在大型系统中,缓存系统的设计就非常有必要了,设计良好的缓存系统,可以大大提高系统的可用性和并发效率 。

文章插图
11.数据库优化
我们需要的数据库不仅是要稳定,能提供服务,也要考虑其提供服务的效率,当数据库里面的数据有百万条以上时,查询效率就变得很低了 。不仅需要考虑前面提及的读写分离,我们也需要根据业务特点,做出适当的分库、分表、分区策略,建立合适的索引 。从而大大提高数据插入和查询效率 。
前面讲了架构设计时应当考虑的高可用的技术手段,还有一点不可忽视的是我们的产品如何部署到生产系统中,尤其是在做产品升级的时候,升级是offline的还是online的?我们能保证不带来一点down time吗?如果系统部署到一半失败了,而线上数据还在源源不断的进来,怎么处理?如果部署失败了,系统能在不丢失新数据的情况下回滚吗?这些都可用性设计时需要考虑的问题,做不好就会带来糟糕的客户体验 。
推荐阅读
- 微服务架构下的鉴权,怎么做更优雅?
- 阿里架构师教你处理高并发:2种方法,解决Redis和Mysql一致性
- 值得关注的五大SQL数据库恢复软件
- 手机投屏电视很复杂?软件投屏不靠谱?
- 个人服务器基础设施架构简介
- 架构师成长的4大必经之路,你在那个阶段?
- InnoDB架构,一幅图秒懂
- 细谈八种架构设计模式及其优缺点概述
- 看都不懂的三层架构,到底要怎么理解?
- 交换机常见简单软件故障排查方法
