架构设计笔记_13_关键模式_阶段性总结

Posted 昌明说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构设计笔记_13_关键模式_阶段性总结相关的知识,希望对你有一定的参考价值。

2009年10月 重庆嘉陵江


对于Runnf这种类型的应用,我们预估了主要的性能指标,即QPS和TPS,从而基于这种指标,我们在架构层面宏观上进行了设计,具体包括有应用的无状态设计,基于性能的负载均衡算法,还设计了初步的缓存模型,即把热点数据和不经常修改的业务数据放入缓存中,同时通过返回空和缓存该空值的方式防止了缓存穿透问题,保证数据库的不被压块,另外对于可能存在的缓存雪崩,通过同步机制来同步构建缓存内容代码进行预防。另外,在数据库层面,通过读写分离机制降低了单库的写和读压力,并就数据复制延迟问题提出了解决方案,即关键场景业务写和读主库,非关键场景业务读从库,或者通过缓存来读,另外列举了通过开源第三方中间件来实现读写分离。


而在数据存储设计上,为了考虑后面的数据量增长趋势,以及单库性能的瓶颈,因为即使应用实例已经是无状态了,但是数据库连接毕竟是有限的,分库分表是一种基本的手段。同时,对于关键资源和指标的监控,也是我们后期要建设的;后端API服务的安全体系也是要考虑的重要环节。最后一个比较重要的点就是单机性能的优化了,业务层面的流程优化,SQL和代码的优化,具体还要结合一些工具来找出问题点在哪里。工程上,还需要把持续集成做起来,因为系统稳定后,其实就是业务的快速迭代,快速响应市场活动,以及生态上的第三方合作。