搭建微服务框架(结构和各个组件)


简介

squid.png

SQuid是基于Spring,SpringBoot,使用了SpringCloud下的组件进行构建,目的是想搭建一套可以快速开发部署,并且很好上手的一套微服务框架。

本文源地址:搭建微服务框架(结构和各个组件)

Github地址:SQuid

组件

  • [Spring-Cloud-Feign]()
  • [Spring-Security-OAuth]()
  • Spring-Cloud-Gateway
  • Spring-Cloud-Alibaba

中间件

  • [Redis]()
  • Nacos
  • Sentinel

数据库持久层

  • [SpringDataJPA]()
  • Mybatis-Plus

数据库

  • Mysql5.7 +
  • Oracle

环境

  • JDK1.8
  • Maven3.2.5
  • Idea

如果你的电脑上已经有安装好上面的程序,那么你可以打开git,输入命令 git@github.com:yanzhenyidai/squid.git 将本项目克隆到本地运行。

不过也可以先看看后面各个组件的集成的说明,送上链接:


项目依赖

本次项目是在 spring-boot: 2.0.9.RELEASE 下搭建,所需依赖文件如下:
   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.0.9.RELEASE</version>
   </parent>
   
   <properties>
       <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
       <spring-cloud-openfeign.version>2.2.0.RELEASE</spring-cloud-openfeign.version>
       <spring-cloud.version>Finchley.SR2</spring-cloud.version>
       <druid-starter.version>1.1.21</druid-starter.version>
   </properties>
   
   <dependencyManagement>
       <dependencies>
           <dependency>
               <groupId>com.alibaba</groupId>
               <artifactId>druid-spring-boot-starter</artifactId>
               <version>${druid-starter.version}</version>
           </dependency>

           <dependency>
               <groupId>com.alibaba.cloud</groupId>
               <artifactId>spring-cloud-alibaba-dependencies</artifactId>
               <version>${spring-cloud-alibaba.version}</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>

           <dependency>
               <groupId>org.springframework.cloud</groupId>
               <artifactId>spring-cloud-dependencies</artifactId>
               <version>${spring-cloud.version}</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>

           <dependency>
               <groupId>org.springframework.cloud</groupId>
               <artifactId>spring-cloud-openfeign-dependencies</artifactId>
               <version>${spring-cloud-openfeign.version}</version>
               <type>pom</type>
               <scope>import</scope>
           </dependency>
       </dependencies>
   </dependencyManagement>

parent以 springboot 开始,原因为 springcloud是基于 springboot 的一套脚手架工具,在搭建本项目时遇到了不少的版本冲突的问题,可以看一下springboot和springcloud版本整理

希望能对你有到帮助。


严阵以待
10 声望0 粉丝