温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
前面我们介绍的是在数据库的层面,对数据库进行架构的拆分,那有读写分离架构,有数据分片架构,那么我们在应用程序当中,例如我们是用Java代码来写程序,那我们在Java的应用程序服务器当中如何访问这样的拆分后的数据库呢?因为之前呢,实际上只有一个数据源的情况下,我们在应用程序当中只要配置这个数据源就可以了,但是现在呢,数据库服务器突然变得多了起来。比如像上面这种架构,这么多的数据库服务器,我们如何利用我们的应用程序来分别连接这些不同的数据源,这个呢就是我们这堂课要讨论的问题。目前为止实现方案呢,具体有两种,一种呢是程序代码封装,另外一种呢叫中间键封装。我们先来看程序代码封装,程序代码封装呢,就是在我们的业务服务器当中专门抽象出来一个数据访问层,例如我们之前的DAO层,或者是我们熟悉的这个map层,都叫数据访问层,我们实际上是在这个数据访问层当中对程序进行一个封装,然后呢,能让数据访问层直接去访问不同的数据库集群当中的数据源,那么这个数据访问层我们可以自己写,当然了,也可以借助于一些框架,比如说我们现在讲的she fair啊,就是这样的一个框架,它能够给我们提供一个封装好的数据访问层,能够帮助我们去访问。
01:33
这样的一个复杂的数据库集群的架构,好,那这个是我们所说的程序代码封装。接下来呢,我们再来看第二种方式,叫做中间件封装,在中间件封装当中呢,我们会发现整个的数据库中间件,它是一套独立的系统,它是独立于我们的数据库集群啊,里面的这些数据库服务器的也独立我们的业务服务器,那这个业务服务器对于我们Java程序员来说的话呢,可能就是一个他们开的服务器了啊,它是写Java程序的,所以你会发现它和我们前面的程序代码封装不同的点呢,就在于这个部分呢,它没有放在我们的业务服务器的内部,而是独立出一套独立的系统,那么我们的业务服务器呢,它需要连接这个数据库中间键,它连接数据库中间键的过程和我们之前连接单一的数据源的形式是一样的,然后呢,由这个数据库中间键帮助我们去连接后面的这些复杂的数据库集群,所以呢,连接的任务呢,就交给了中间键,我们的应用程序呢,只要连接中间键就可以了。那这。
02:41
这个呢,就是中间件封装的解决方案。好,那么在市面上我们常见的具体的落地实现的解决方案呢,就是两种,第一种呢,是我们这门课程当中讲的阿帕奇的she fair,阿帕奇的she fair呢,它既有程序级别的封装方式,又提供了中间件级别的封装方式。
03:06
那还有一个呢,就是cat呢,它就是数据库中间。而阿帕奇丁斯菲尔呢,是他既提供了程序级别,又提供了中间级别这两种解决方案。
我来说两句