软件架构非常的重要,一个好的软件架构将会带来极大的收益,用于描述各组件之间的联系,用于指导软件各方面进行设计。
单体|垂直设计
优点是可以水平扩容,运维不需要停服
缺点是一个人职责多,开发效率不够,出错的爆炸范围大。
SOA|微服务架构
其核心思想是一致的,意图是通过解耦出各个服务,以服务作为一个单元进行设计。微服务不仅以服务作为一个单元,而且还去中心化,一台机器可能只做一个服务可能做很多个服务也可能许多台机器都做同一个服务。
云计算发展下的企业级架构
这是一张大图,表示云原生架构的一些手段。 包括弹性资源,微服务架构,DevOps,服务网格,每一个技术背后都有许多技术进行支撑,描述了从开发到发布的所有环节的设计。
弹性资源
这是将资源变成服务来看,我们可以整个购买或者与人合租,合租价格将会更低。并且在不需要之后可以终止服务,成本不会特别高。是云原生架构的硬件基础 这是基于虚拟化技术实现的。
DevOps
一个大平台,将开发和运维结合,用于提升开发效率。
微服务架构
经典的微服务架构,核心结构,niginx网关负载均衡,GateWay限流和熔断。KV就是Redis缓存。最后Mysql储存数据。
网格服务
统一化管理容器,不过暂时不太清楚是干嘛用的,以后再看。