导读
随着业务需求的变化,IT系统架构也随之升级。新的架构对比之前的架构具有何种优势,又存在哪些问题需要解决?在架构演进的过程中,引入云、DevOps等方法,而这些方法又是如何解决架构中存在的问题,助力IT系统架构升级呢?
本次分享主题是《常用IT系统架构及DevOps介绍》,主要内容分为三部分:
-
1. 常用IT系统架构介绍及演进
-
2. 云相关的工具、方法介绍
-
3.DevOps相关工具、方法的介绍
01
常用架构介绍
1.单体架构
单体架构是我们最常用的架构,一个工程代码就对应着一个应用,代码内可以逻辑区分多个业务模块,而这一个应用则往往部署在单个主机上。其优点在于,架构简单,模块之间调用方便,部署方便。
其劣势1)在于代码、功能耦合。当业务模块A遇到问题需要修改代码,而业务模块B同时也调用了模块A的方法,此时修改模块A的很久可能给模块B带来问题。随之,也会给后续的测试带来问题;2)性能易出现瓶颈,单体应用往往部署于单个主机,其性能受制于所安装主机性能。当某一模块的使用量很大,无法有效横向扩展,即便使用集群扩展,也同时扩展了其他模块,导致扩展冗余;3)易出现单点故障,当部署于单台主机上的单体应用,一旦遇到问题,则无法使用,导致单点故障。
2.多实例单体架构
为了克服性能问题,出现了多实例的单体应用。多实例单体应用部署多个应用实例,通过负载均衡将流量分散至各个实例,从而达到性能扩展的作用。
但是用户和单体应用之间存在Session会话,所谓Session会话即为用户和应用之间交互的状态,比如说,登录的状态,而Session会话一般存储在应用内存中,实例之间无法共享。为了解决Session会话,一般使用两种方式,1)IP Hash的方式,将用户IP hash,对应用户被固定分配到特定实例上。2)通过共享Session的方式,将用户的Session会话存放在分布式缓存中,如Redis、Memcache。每当用户访问,应用则会去远程读写Session,从而实现共享Session。
3.微服务架构