人狠话不多,直接开始少点屁话本着共同学习进步的目的和大家交流如有不对的地方望铁子们多多谅解
准备工具
开发工具 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.0
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
ports:
- "3306:3306"
networks:
- my_network
volumes:
- 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.3
container_name: nacos
restart: always
environment:
- 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:v1
ADD https://github.com/alibaba/Sentinel/releases/download/1.8.6/sentinel-dashboard-1.8.6.jar /app.jar
ENV JAVA_OPTS="-Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel"
EXPOSE 8888
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app.jar"]
- docker-compose.yml
version: '3'
services:
sentinel-dashboard:
build: .
container_name: sentineld
ports:
- "8888:8888"
restart: always
networks:
- 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
至此,我们的准备工作就已经就绪啦,明天开始动手做项目