单体结构
做系统的原因当然是有需求,有价值,可赚钱。随着使用系统的用户越来越多,这时候关注的人越来越多,单台服务器扛不住了,关注的人觉得响应真慢,没啥意思,就开始吐槽,但是这一吐槽,导致用户更多,毕竟大家都爱吃瓜。
这样下去不得不进行系统的升级,将数据库和应用分离。
数据库应用分离
这样子,咋们将数据库和应用程序分离后,部署在不同的服务器中,从1台服务器变为多台服务器,处理响应更快,内容也够干,访问的用户呈指数增长,这多台服务器都有点扛不住了,怎么办?
加一个缓存吧,我们不每次从数据库中读取数据,而将应用程序需要的数据暂存在缓冲中。缓存呢,又分为本地缓存和分布式的缓存。分布式缓存,顾名思义,使用多台服务器构成集群,存储更多的数据并提供缓存服务,从而提升缓存的能力。
加了缓存哪些好处?
应用程序不再直接访问数据库,提升访问效率。因为缓存内容在内存中,不用每次连接存放磁盘中的数据库。
系统越来越火,于是考虑将应用服务器也作为集群。
集群
缓存架构干啥啥不行,缓存第一名。不吹牛,缓存应用在计算机的各个角落。缓存可说是软件技术中的的*手锏,无论是程序代码使用buffer,还是网络架构中使用缓存,虚拟机也会使用大量的缓存。
其实最初在CPU中也就开始使用缓存。缓存分为两种,一种是通读缓存,一种是旁路缓存
通读缓存
假设当前应用程序获取数据,如果数据存在于通读缓存中就直接返回。如果不存在于通读缓存,那么就访问数据源,同时将数据存放于缓存中。
下次访问就直接从缓存直接获取。比较常见的为CDN和反向代理。