环境声明
在运行本地示例之前,需要保证本机具备以下的基础环境,如果您的本地没有当前的环境,下面会一步步进行搭建,演示搭建过程。
- Nacos 服务端
- Seata 服务端
- RocketMQ 服务端
- MySQL 服务端
可在国内https://gitee.com/mirrors/Spring-Cloud-Alibaba镜像下载Spring Cloud Alibaba开源项目。
组件服务版本
本项目的各个组件版本请移步至各个社区的 release 页面进行下载并解压。
- Nacos: 2.1.0 版本
- Seata: 1.5.1 版本
- RocketMQ: 4.9.4 版本
- MySQL: 5.7 版本
可查看下面文章的详细配置
- Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Nacos组件安装
- Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Seata服务端组件安装
- Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Rocketmq组件安装
host配置
为了保证代码可以正常启动,请先配置好本机的 host 映射,在配置文件中新增如下的映射。
host文件window路径为
C:\Windows\System32\drivers\etc
配置好后在浏览器地址栏输入http://integrated-mysql能访问127.0.0.1的网址就是成功了。地址可以是下面配置的任意一个。
# for integrated-example
127.0.0.1 integrated-mysql
127.0.0.1 nacos-server
127.0.0.1 seata-server
127.0.0.1 rocketmq
127.0.0.1 gateway-service
127.0.0.1 integrated-frontend
数据库配置
下面开始本地环境搭建准备,在数据库配置开始之前,请确保 MySQL 的服务端开启。
初始化业务表
针对第一个场景,订单、账户、库存微服务都需要各自的数据库,而第二个场景模拟点赞也需要存储点赞信息的数据库。
运行 spring-cloud-alibaba-examples/integrated-example/sql/init.sql
的 sql 脚本一键创建业务所需的环境以及 Seata 相关的表。
Seata相关配置可以查看上面的说的《Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Seata服务端组件安装》
Nacos配置
至此,数据库的服务配置完毕,下面需要配置 Nacos 的配置中心有关所有的微服务配置文件。
Nacos启动
Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Nacos组件安装
为了便于 example 的演示,这里采用 Nacos 的standalone
模式启动,进入到 Nacos 解压后的目录下,执行如下命令。
#Linux/Mac环境
sh bin/startup.sh -m standalone
#如果您是Ubuntu环境,执行上述命令启动报错提示[[符号找不到,可以执行如下的命令
bash bin/startup.sh -m standalone
#Win环境
.\bin\startup.cmd -m standalone
新增配置文件
在批量导入配置之前,请先修改integrated-example/config/datasource-config.yaml
中的数据源配置(用户名和密码)。
之后运行spring-cloud-alibaba-examples/integrated-example/scripts/nacos-config-quick.sh
来完成所有微服务配置的一键导入。
在window中可以使用git打开
配置已经导进来了
Seata 配置
Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Seata服务端组件安装
Nacos 服务注册中心以及配置中心部署完毕之后,下面是 Seata 服务端的配置。
Seata 的 db 模式需要额外配置数据库信息以及修改 Seata 服务端的配置文件,且在新版本中配置文件相较于旧版本进行了合并,因此这里为了便于演示方便,采用 Seata 单机的file
模式启动 Seata Server。
启动 Seata Server
进入到 release 解压后的 seata 目录中,执行如下命令。
#Linux/Mac环境
sh ./bin/seata-server.sh
#Win环境
bin\seata-server.bat
RocketMQ 配置
Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本 | Rocketmq组件安装
Seata 服务启动后可以启动 RocketMQ 的 NameServer 以及 Broker 服务。
进入到 release 解压后的 rocketmq 目录中,执行如下命令。
启动 NameServer
#Linux/Mac环境
sh bin/mqnamesrv
#Win环境
.\bin\mqnamesrv.cmd
启动 Broker
#Linux/Mac环境
sh bin/mqbroker
#Win环境
.\bin\mqbroker.cmd
运行 Demo 示例
运行Demo的实例可以按着git上的例子测试了。