从零开始学习Spring Cloud Alibaba (一)

发布于:2025-06-25 ⋅ 阅读:(18) ⋅ 点赞:(0)

人狠话不多,直接开始少点屁话本着共同学习进步的目的和大家交流如有不对的地方望铁子们多多谅解

准备工具
  • 开发工具 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

    image-20250624232927974

https://document.aihkj.com/img/202506242330626.png

至此,我们的准备工作就已经就绪啦,明天开始动手做项目


网站公告

今日签到

点亮在社区的每一天
去签到