SpringCloud微服务解决方案
Alibaba解决方案
概述
Spring Cloud Alibaba是Spring Cloud的一个子项目,致力于提供微服务开发的一站式解决方案,此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务.依托Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将Spring Cloud 应用接入阿里巴巴微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统
核心组件分析
- 服务限流降级
- 服务的注册和发现
- 分布式配置管理
- 消息驱动能力
- 分布式事务
- 分布式任务调度
构建 Spring Cloud 项目初始环境
创建空项目
创建聚合父项目
第一步
第二步
第三步:添加核心依赖及版本管理
在pom文件,添加如下元素
<dependencyManagement>
<dependencies>
<!--Spring boot 依赖(定义了微服务规范)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.2.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--Spring Cloud 依赖(定义了微服务规范)-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--Spring Cloud Alibaba依赖(基于spring微服务规范做了具体落地实现)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.6.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
项目结构分析
出现的问题整理
1.MySQL的版本问题
当我们在执行一些SQL脚本时(例如 nacos-mysql文件), 加入出现如下错误,请升级你的mysql(建议mysql5.7以上或MariaDB 10.5.11)
2.Nacos 服务问题
问题1
问题2
3.Maven 依赖问题
假如出现依赖下载不下来,或者pom.xml文件出错, 一定要检查
第一:依赖添加的是否正确groupId,artifactId,version)
第二:检查元素嵌套关系(dependencies,dependency)
第三:检查单词是否正确
第四:检查maven环境配置(最好一个项目一个本地库,假如多个项目共用一个,要确保多各项目使用的依赖版本是一致的。)
4.项目的克隆问题
这个问题可以右键项目的pom.xml文件,然后执行如下操作,将项目添加到maven区
5.JDK的配置问题
代开项目代码,是如下问题
可以打开项目结构,然后配置JDK
6.服务注册异常(NacosException)
启动服务是,出现
7.无法访问此网站
8.pom.xml有删除线
9.访问404异常
10 访问500异常
11.端口占用问题
创建RestTemplate对象,然后基于此对象进行远程服务调用
@Bean 注解用于描述方法,用于告诉Spring框架这个方法的返回值交给spring管理,
Spring默认 这个方法返回对象起的一个bean的名字,默认为方法名,当然也可以对一个bean的名字进行自定义
例如: