SpringCloud整合Gateway+Nacos+Sentinel+OpenFeign+Mybatis+Mybatis-Plus (一:概述)

SpringCloud整合Gateway+Nacos+Sentinel+OpenFeign+Mybatis+Mybatis-Plus

  • 初衷
    • 框架说明
      • 技术栈
        • 安装要求
        • 平台解析
      • 项目规则(待完善)
      • 项目启动顺序
      • 项目访问
        • 相关控制台

初衷

项目更换架构也是对以往技术进行总结,但是技术来源过于零散、碎片,查找费时费事,很多缺少验证,入坑无数,这次整理的是利用SpringCloud,整合了主流的阿里系插件服务–Nacos、Sentinel,结合Gateway网关及openFeign的微服务调用,持久层整合了“魂斗罗”兄弟等等。本意就是搭建一个基础框架,自己打个Mark。

框架说明

技术栈

  • 开发环境
  • 语言: Java 8

  • IDE(JAVA): IDEA

  • 依赖管理:Maven

  • 数据库:MySQL5.7+ & Oracle 11g & Sqlserver2017

  • 基础框架:SpringBoot 2.2.7.RELEASE

  • 分布式框架: SpringCloud Hoxton.SR4

  • 分布式服务: Nacos

  • 网关服务: Gateway

  • 流量控制服务: Sentinel

  • 持久层框架:Mybatis 2.1.2 + Mybatis-Plus 3.3.1

  • 数据库连接池:阿里巴巴Druid 1.1.10

  • 其他:fastjson,lombok

安装要求

  1. 必须安装 nacos 分布式服务器

  2. 选择安装 sentinel 流量控制服务器

平台解析

  1. common 所有的模块都需要引用的命令包及实体类和工具类

  2. consumer 消费者(前台控制层,不参与事务,整合
    spring-cloud-starter-openfeign实现内部服务调用)

  3. api 产品的api(接口包)

  4. provider(后台服务包,参与事务,业务都在此包)

项目规则(待完善)

  • 编写消费者和生产者的包名 必须是 com.xxx.开头

  • 控制层: com.xxxx.web.xxxx.controller

  • 接口层: com.xxxx.web.xxxx.service

  • 实现层: com.xxxx.web.xxxx.service.impl

  • 页面层: webapp/webpage/xxxx/xxxAdd.jsp 、xxxUpdate.jsp、xxxxList.jsp

项目启动顺序

启动Nacos服务 ==> 启动Sentinel服务 ==> 启动provider服务 ==> 启动consumer服务 ==> 启动gateway服务

项目访问

请求通过gateway网关服务转发到映射的consumer服务,consumer中引入的feign实现微服务间的调用跳转到provider的服务实现,完成本次请求并返回结果

案例使用: http://localhost:3001/provider/2

相关控制台

  1. Nacos: http://localhost:8848/nacos/index.html#/login

  2. Sentinel: http://localhost:4001/

你可能感兴趣的:(SpringCloud整合,分布式,gateway,spring,java)