Spring Cloud Alibaba环境搭建(一)

152 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情

一、Spring Cloud Alibaba的搭建

1-1、基本环境

SpringCloud Alibaba 依赖 Java 环境来运行。还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  1. 64 bit JDK 1.8+;下载 & 配置。 1.8.0_211
  2. Maven 3.2.x+;下载 & 配置。 3.8.4

如果jdk和maven还未配置,可以根据上面的教程进行配置,我这边jdk使用:1.8.0_211;maven使用:3.8.4

1-2、创建分布式服务

下面来通过两个简单的子项目来实现最原始使用的分布式架构,主要分为两步:

  1. 基于SpringBoot的父maven项目

  2. 创建2个服务(订单服务和库存服务)

这样就形成了一个父项目下有两个服务

1-2-1、创建spring父项目

1、填写父项目相关信息 image.png

2、不需要选任何插件,直接finish image.png

3、因为是父项目,因此把多余的文件删掉 image.png

4、最终父项目下就只有pom.xml image.png

5、修改package方式为pom,这样打包的时候就不会打成jar包了 image.png

1-2-2、在父项目下创建两个module

1-2-2-1、创建订单服务

1、在父项目右键,创建module image.png

2、通过maven或者spring initializr创建模块,maven可以自动继承父项目,spring initilalizr不会自动继承,我这边使用maven image.png

3、填写服务名称,首先创建订单服务 image.png

4、可以看到pom中已经自动继承父项目,这样父项目中的依赖在子项目中就可以使用了 image.png

1-2-2-2、创建库存服务

根据上面创建订单服务的过程,再创建库存服务,最终创建完的目录结构如下:

image.png

1-2-3、给两个子项目填写相关配置

1、因为订单和库存两个服务要互相调用,因此首先引入web场景启动器 image.png

2、创建springboot启动器 image.png

3、配置端口,设置order:8081;stock:8082 image.png

1-2-4、创建各自服务

1-2-4-1、创建订单服务

创建一个简单的调用,完成下单服务 image.png

1-2-4-2、创建库存服务

创建一个简单的减库存服务 image.png

1-2-5、完成服务之间调用

现在两个服务已经完成创建,剩下的就是两个服务之间的调用,一般可以使用httpClient或者webService,我这边使用RestTemplate来进行调用,RestTemplate之前也有介绍,如果有疑问可以去看下juejin.cn/post/710293…

1-2-5-1、创建RestTemplate Bean

为了方便就直接在启动类中,添加RestTemplate Bean image.png

1-2-5-2、通过RestTemplate调用库存服务

通过restTemplate调用服务的远程接口地址就可以获得数据了 image.png

浏览器调用下单接口,可以看到下单和库存服务都完成调用了 image.png

通过以上就可以完成分布式服务之间的调用了,但是在调用服务的时候写了服务的固定域名/ip,万一后面域名或者IP会有改动,那就带来一些工作量,这样显然不是我们想要的。而且随着项目的扩大,各种服务的研发,各个服务之间的调用也变的错综复杂,要是以目前的方式来处理,无疑是非常麻烦的。这样就需要用到注册中心来处理了。