从零开始学习Spring Cloud Alibaba (一)
人狠话不多,直接开始少点屁话本着共同学习进步的目的和大家交流如有不对的地方望铁子们多多谅解
准备工具
-
开发工具 idea
-
Java环境 jdk17
-
容器: docker
-
Maven 3.8.6 仓库镜像阿里云
<mirror><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url><mirrorOf>alimaven</mirrorOf></mirror>
-
数据库 mysql 8.0
-
框架版本说明 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明
-
本次代码采用如下
spring-cloud spring-cloud-alibaba spring-boot Mysql Nacos Sentinel 2023.0.3 2023.0.3.2 3.3.4 8.0 2.4.3 1.8.6 我们先用这几个后面需要用到队列 分布式事务 到时候在添加
下面是关于需要用到的插件docker-compose.yml,为了不受各组件通信的影响自定义了一个网络my_network, docker network create my_network
有需要的小伙伴可以安装一下
mysql
version: '3.8'services:mysql:image: mysql:8.0container_name: mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456TZ: Asia/Shanghaiports:- "3306:3306"networks:- my_networkvolumes:- mysql-data:/var/lib/mysql
volumes:mysql-data:
networks:my_network:external: true
nacos 别忘记了下载数据库脚本
version: '3.8'services:nacos:image: nacos/nacos-server:v2.4.3container_name: nacosrestart: alwaysenvironment:- PREFER_HOST_MODE=hostname- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=123456- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true- NACOS_AUTH_ENABLE=true- NACOS_AUTH_IDENTITY_KEY=lQJDWwUR2ybYqvconE0LckmBHu3JJC0W9lGrBFayGJw=- NACOS_AUTH_IDENTITY_VALUE=QcMKjlL+psT5t+3jiW7716ZwuvaESVaJ3MJMwsLbSO0=- NACOS_AUTH_TOKEN_EXPIRE_SECONDS=18000- NACOS_AUTH_TOKEN=3Hl50QTjASTXfEJ7kPCVIIi4ojEIxf5ODQ7zYbHzMKM=ports:- "8848:8848"- "9848:9848"- "9849:9849"networks:- my_network
networks:my_network:external: true
**Sentinel ** 我是自己构建的所有有个DockerFile
- Dockerfile
FROM registry.cn-hangzhou.aliyuncs.com/aihe-cxk/java:v1ADD https://github.com/alibaba/Sentinel/releases/download/1.8.6/sentinel-dashboard-1.8.6.jar /app.jarENV JAVA_OPTS="-Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel"EXPOSE 8888ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app.jar"]
- docker-compose.yml
version: '3'services:sentinel-dashboard:build: .container_name: sentineldports:- "8888:8888"restart: alwaysnetworks:- my_network
networks:my_network:external: true
执行完成之后就可以启动了 ]
- 访问nacos 127.0.0.1:8848/nacos/index.html
用户名:nacos
密码:123456
- 访问mysql 127.0.0.1:3306
用户名:root
密 码:123456
-
访问sentinel 127.0.0.1:8888
用户名:sentinel
密码:sentinel
至此,我们的准备工作就已经就绪啦,明天开始动手做项目