传统的单机架构

用户通过客户端访问我们的服务器,我们所有的业务全部放在一台服务器上。包括数据库,逻辑代码,文件存储。
当这台服务器被攻击的时候,所有的客户都无法访问服务。同时如果出现数据丢失的情况,那么会导致整个服务的数据无法挽回的。
image.png

计算存储分离架构(结构化数据)

将数据库拆离,这样可以提升服务器原本的性能。随后还能对数据库进行加固,备份等操作。
image.png

计算存储分离架构(非结构化数据)

随后便是分离文件存储(OSS),在应用中除开基础的数据之外,还有图片、视频、音乐等
所以这里用存储服务器来与我们主要的计算逻辑进行区分。这样服务器上只有缓存和代码。
结构化的数据放在数据库中,非结构化的数据在存储服务器中。这样可以获得比较好的性能与管理的优势。
image.png

计算存储分离架构(负载均衡)

提升服务器计算能力,在所有的服务器之外新添加负载均衡器,将请求进行分发。
image.png

集群演化的核心

  • 避免单点故障:单点故障是大概率的事件,通过安排备机、负载均衡,可以有效避免单点故障
  • 抽离状态,提升计算性能,集群想要进行横向拓展,就必须变成无状态应用,将状态拆出道单独的服务。状态抽离后,就可以拓展设备数量和性能,提升计算性能(无状态应用可以理解为http。无状态协议,所以在静态资源访问上,任何人都一样,一但引入了cookie与session,就存在状态一说,也就意味着出现会话保持等一些技术)
  • 数据计算引入缓存,提升热数据访问性能:在耗时数据查询上,尽可能的引入缓存机制,提升热数据的访问性能