开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat-环境搭建-工程层级及架构介绍 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/758/detail/13308
MyCat-环境搭建-工程层级及架构介绍
内容简介
一、工程预览
二、工程层级关系
一、工程预览
我们将会了解一下案例要搭建哪些工程,以及工程之间的关系。
上图是案例最终要搭建的工程,最上面有一个 v_parent ,这是一个顶级父工程,它的职责是统一管理预览的版本。
但是这个父工程也有一个父工程是 spring-boot-starter-parent ,因为 spring-boot的应用都会有一个父工程就是 spring-boot-starter-parent 。
由于搭建的微服务有一个父是 parent ,因此我们只需要让搭建的 v_parent 承自 spring boot 的父工程就可以了。
接下来是 common , common 是一个通用工程,里面存放的是一些通用的工具类,以及通用的组件。还有一个通用的工程是实体类存放的工程—— v-model 。
下一个是基础工程注册中心——v_eureka ,它是必不可少的,因为我们要使用 spring boot 和 spring cloud 构建微服务。下一个工程是 v_feign_api ,它的作用是当我们在通过 feign 进行远程调用的时候,feign 调用的接口就可以放置在这个工程当中。
还有一个微服务网关工程——v_gateway ,是一个网关服务。,下一个叫做 v_manage_wed ,主要是模拟一个前端工程。因为我们的架构是前后端分离的技术架构。我们在 manage_wed 当中,模拟一个前端。剩下几个是微服务,比如 v_service_goods 是商品微服务, v_service_log 是日志微服务,v_service_order 是订单微服务。以上就是工程的一个结构,搭建工程的时候就是按照这个结构来的。
二、工程层级关系
关于工程的层级关系一起来看一下这幅图,这幅图描述了前端人员开发的前端系统和后端的微服务怎么进行交互。前端的系统和微服务在进行交互的时候,首先会经过服务网关,因为服务网关的 gateway 是后端微服务的一个统一入口。前端所有的请求都会先经过 gateway 服务网关,然后由服务网关对请求进行一些过滤校验的操作,然后再把请求继续往下漏涌,往后端的微服务当中漏涌。
在以上示意图当中描述了三个微服务,一个是 goods 商品微服务,一个是 log 日志微服务,还有一个 order 订单微服务,这三个微幅他们之间要想进行,可以通过 spring cloud 当中的一个组件叫做 feign 进行交互。当然微服务的注册与微服务的发现要使用 eureka 注册中心。
请求到达微服务之后,可能需要操作 Redis 数据库,可能要操作 MySQL,也有可能操作 MQ 。这是共同的一个层级关系,当我们在做案例的时候,我们的重心并不是前端的部分,而是下端的微服务,以及数据防御层。
对于我们当前案例练习的重点实际上是上图所示部分。