云卷云舒:软件架构设计的经验总结

#架构设计#

围绕架构设计的通用思想,从可用性、扩展性、高性能个一致性四个方面重点强调了架构设计的基本方法理论,具有较强的通用性和指导性。

可用性的不同设计,会带来不同级别的可用性表现,主要指标为“几个9”。

影响可用性的因素包含故障、变更、架构设计、突发流量等等。

必要的容错设计,是最容易忽视的点,比如避免单点、服务降级、重试机制、隔离性设计是必须要做的。

对于流量的控制对于高并发系统来说也是必选,比如通过各类限流算法实现网关级别的全局限流、模块级别的模块限流、开源工具限流等。

这里的灾备具有通用性,按照上图所示,对于典型的同城、异地、双活、两点中心,甚至云计算环境之下的苦啊AZ/Region、算力网络等,我们要针对业务的现实需要选择对应的方案,且无门哪个组追求高级别容灾,应为成本是最大的问题挑战。

对于数据库的扩展性设计至关重要,因为数据库内就是企业的最核心资产,没有之一,数据的安全性、可控性、数据读取的效率、甚至成本都是企业该考虑的因素,随着云计算技术的快速发展,云数据库云原生数据库、分布式数据库越来越受欢迎,举个例子,云数据库可以解决最基本的扩展性问题,但是开发云数据库的时候,该理论也具有参考意义。

同时使用了云数据库也不意味着高枕无忧了,同样在业务架构设计的时候,使用好云数据库同样需要相关的扩展性设计理论。

性能设计没有秘诀,要是有那就是“端到端面相性能的设计”,网关、数据库、网络、前端、存储、数据量、并发等等都是,最后好要有一个“完整的性能测试”作保障。

注:个人学习经验总结,仅供参考,欢迎留言、转发

猜你喜欢

转载自blog.csdn.net/bishenghua/article/details/134990606
今日推荐