下文中涉及到的demo,均建立在读者会使用idea工具创建java的maven工程项目,本文中就不再赘述创建工程的步骤了,如不熟悉,请移步该链接学习哦:https://blog.csdn.net/Java_monkeys/article/details/86242428 。创建好的项目框架如下图所示:
上图中红框标出的模块是整个项目的基础,其他组件都将在这基础上扩展。其中gateway是整个项目的入口,所有外部请求都先到达该模块,进行一系列的授权、认证、流量控制、协议转换和路由转发等流程,最终在各个内部微服务之间发起调用请求。admin子系统通过OpenFeign提供了一个最简单的服务接口作为服务调用演示,注册中心使用Nacos。
一、Pom依赖及配置
鉴于各个子服务都会依赖到Spring Cloud Alibaba相关组件,因此将相关依赖放置于顶层pom文件中,避免重复引用。在父级pom文件中引入一下依赖:
<properties>
<spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
<spring-cloud.version>Greenwich.SR3</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 整合spring-cloud-alibaba -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
<