开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat-案例概述 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/758/detail/13305
MyCat-案例概述
内容介绍
一、案例介绍
二、系统架构
三、技术选型
本章的内容为 MyCat 的最后一个部分,会通过一个案例讲解在具体项目中如何通过 MayCat 完成数据库的分库、分表操作。
一、案例介绍
本案例将模拟电商项目中的商品管理、订单管理、基础信息管理、日志管理模块,对整个系统中的数据表进行分片操作,将根据不同的业务需求,采用不同的分片方式,在这个过程中,既需要考虑垂直拆分,又需要考虑水平拆分。
二、系统架构
上图为系统架构图,这个图当中描述了前端用户在请求系统时具体的流程和整体的架构是什么。
首先,前端用户请求前端系统时,会经过负载均衡层,它包含四层负载均衡和七层负载均衡,经过负载均衡之后,根据负载均衡内部算法就会将用户发起的请求在此处将它转发给后面的前端系统,前端系统接收到请求后,用户随之就要在前端系统当中进行操作,比如业务的增删改查操作。
前端系统在此处会去请求后端的微服务,注意,我们所开发的模式是属于前后端分离,前端人员在此处开发前端的,后端人员只需要在微服务中使用接口,所以用户请求前端系统中进行增删改查的时候,它需要去调用微服务当中所提供的一系列的接口。
在微服务层,包含认证服务、商品服务、订单服务、日志服务以及搜索微服务,这些微服务都是电商当中必不可少的微服务,这些也只是罗列了一部分。接下来,当请求到达微服务之后,在微服务使用逻辑处理时,需要后端的关系型数据库和非关系型数据库以及缓存和消息队列。
以上是完整的架构图,在这个架构图、案例当中,在进行开发的时候,前端系统在案例中已经提供好了,所以我们不需要过多关注,我们重点关注后端微服务,以及我们数据层关于数据库表的分部分表或分片操作。
在整个案例当中,涉及的微服务主要是商品、订单、日志的微服务。这是所介绍的采用微服务的系统架构。
三、技术选型
在此处罗列了主要用到的技术,当前是微服务架构,采用的是当前比较流行的 SpringBoot 和 SpringCloud ,还会用到 SpringMVC 、Mybaties 和 SpringDataRedies ,此处会涉及到两个数据库 MySQL 和 Redies 数据库,还会涉及一个小工具 Lombok ,在讲解具体的功能开发时再来详细讲解 Lombok 具体是什么。