Java 杂谈阿里云我爱编程

从零开始学架构读书笔记

2018-08-02  本文已影响47人  良辰美景TT

  软件架构的出现是为了解决系统规模增加后出现了系统耦合严重,开发效率低,逻辑复杂,扩展困难等问题。所以架构设计是为了解决软件复杂度而存在的,所以架构设计的目地是识别出需求的复杂点然后针对性的解决。系统设计时需要考虑:性能,系统的可扩展性,安全性,高可用,成本。
  架构师的工作并不神秘,成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构模式烂熟于心,然后根据自己对业务的理解,挑选合适的架构模式进行组合,再对组合后的方案进行修改和调整。

系统复杂性来源

架构设计的原则

  真正优秀的架构都是在企业当前人力、条件、业务等各种约束下设计出来的,能够合理地将资源整合在一起并发挥出最大功效,并且能够快速落地。有下面几个原则:

架构设计的步骤

架构模式

  在具体的实践过程中,为了更快、更好地设计出优秀的架构需要掌握业界已经成熟的各种架构模式。大部分情况下,我们做架构设计主要都是基于已有的成熟模式,结合业务和团队的具体情况,进行一定的优化或者调整;即使少部分情况我们需要进行较大的创新,前提也是需要对已有的各种架构模式和技术非常熟悉。

高性能架构模式

  1. 写操作后的读操作指定发给数据库主服务器。
  2. 读从机失败后再读一次主机。
  3. 关键业务读写操作全部指向主机,非关键业务采用读写分离。

读写分离后还需要考虑分配机制 将读写操作区分开来,然后访问不同的数据库服务器,一般有两种方式:

  1. 程序代码封装
  2. 中间件封装。

高可用架构模式

  高可用的本质是通过冗余的机器来做到服务的高可用。

上一篇 下一篇

猜你喜欢

热点阅读