1.5 分离术

1. 动静分离

“动静”指动态资源和静态资源。动态资源通常指从MySQL之类的数据源中取出的数据,静态资源通常指各种.git、.jpg、.html等资源。

动静分离指在Web服务器架构中,将动态资源与静态资源(或者将动态内容接口和静态内容接口)分成不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

2. 前后端分离

前后端分离的核心思想是前端HTML页面通过AJAX调用后端的RESTful API接口,并使用JSON数据进行交互。

3. 主从分离与读写分离

主从分离通常指数据库的主从分离,有些用Java编写的程序因业务需要也需要做成主从分离的结构。

读写分离的基本原理就是让主数据库(写库)处理事务性操作(如增、改、删等),让从数据库(读库)处理查询操作。数据库复制可以把事务性操作导致的写库变更同步到读库。以SQL为例,写库负责写数据、读数据,读库仅负责读数据。每次写库的写数据操作都需要同步更新到读库。写库只有一个,读库可以有多个,它们之间采用日志同步的方式实现写库和多个读库的数据同步。

在代码中可以通过Spring的AOP达到读写分离的架构要求。