# springcloud **Repository Path**: zoomzoomzee/springcloud ## Basic Information - **Project Name**: springcloud - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-20 - **Last Updated**: 2022-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringCloud ## README # springcloud #### 介绍 [https://www.bilibili.com/video/BV18E411x7eT](https://www.bilibili.com/video/BV18E411x7eT)} #### 软件架构 1. SpringBoot 2.2.1.RELEASE 2. SpringCloud Hoxton.SR1 3. Eureka / Zookeeper / Consul / [Nacos](https://nacos.io/zh-cn/docs/quick-start.html) 4. Ribbon + RestTemplate / openFeign 5. Hystrix / [Sentinel](https://sentinelguard.io/zh-cn/) 6. Gateway 7. ConfigServer + RabbitMQ Msg Bus 8. Stream 9. Sleuth (Zipkin) 10. [Seata](http://seata.io/zh-cn/) #### 安装教程 1. `brew install docker` 2. `docker pull mysql:latest` 3. `docker pull rabbitmq:management` 4. `docker pull zipkin:latest` 5. `docker pull nacos/nacos-server:latest` 6. `docker pull zoomzoomtnt/sentinel-dashboard:1.8.3` 7. `docker pull seataio/seata-server:1.4.2` #### 使用说明 **K8S 部署集群** *#todo* **Docker Compose 一键部署(非集群) ✅** `cd alibaba-sentinel-dashboard/docker-compose/nacos-docker-master/springcloud` `docker-compose -f standalone-mysql-8.yaml up -d ` **或 Docker Run 逐个部署** 1. `docker run --name mysql --hostname mysql -e MYSQL_ROOT_PASSWORD=12345678 -p 3306:3306 -d mysql:latest` 2. `docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management` 3. `docker run -d --name zipkin -p 9411:9411 openzipkin/zipkin` 4. standalone embedded Nacos: 1. ``` docker run --name nacos-server --hostname nacos1 \ -e MODE=standalone \ -e EMBEDDED_STORAGE=embedded \ -p 8848:8848 \ -d nacos/nacos-server:latest ``` 5. `docker run -d --name sentinel -p 9000:8080 -p 8719:8719 zoomzoomtnt/sentinel-dashboard:1.8.3` 6. Docker 部署 Seata Server 1. Nacos上新建配置放file.conf, dataid=seataServer.properties 2. cp "path to registry.conf" /tmp/config 3. ``` docker run --name seata-server -p 8091:8091 \ -e SEATA_IP=10.0.0.35 \ -e SEATA_CONFIG_NAME=file:/root/seata-config/registry \ -v /tmp/config:/root/seata-config \ -d seataio/seata-server:1.4.2 ``` 4. 部署完成后Nacos服务列表上会出现 seata-server 5. 成功 log ``` INFO - i.s.c.r.processor.server.RegRmProcessor : RM register success, message:RegisterRMRequest{ resourceIds='jdbc:mysql://localhost:3306/seata_order', applicationId='alibaba-order-service', transactionServiceGroup='seata_tx_group'}, channel:[id: 0x77878c7a, L:/172.17.0.5:8091 - R:/172.17.0.1:56884], client version:1.4.2 INFO - i.s.c.r.processor.server.RegTmProcessor : TM register success, message:RegisterTMRequest{applicationId='alibaba-order-service', transactionServiceGroup='seata_tx_group'}, channel:[id: 0x89d43c55, L:/172.17.0.5:8091 - R:/172.17.0.1:56914], client version:1.4.2 ``` 7. cluster Nacos(**not working!!**): ``` docker run -d --name nacos-server-8848 --hostname nacos-server-8848\ -e PREFER_HOST_MODE=hostname \ -e MODE=cluster \ -e NACOS_APPLICATION_PORT=8848 \ -e NACOS_SERVERS="nacos-server-8848:8848 nacos-server-8849:8849 nacos-server-8850:8850" \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=12345678 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -p 8848:8848 \ nacos/nacos-server:latest ``` ``` docker run --name nacos-server-8849 \ -e MODE=cluster \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=localhost \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=12345678 \ -e MYSQL_SERVICE_DB_NAME=cloud2020 \ -e NACOS_SERVERS="10.0.0.35:8848 10.0.0.35:8849 10.0.0.35:8850" \ -p 8849:8848 \ --restart=always \ -d nacos/nacos-server:latest ``` ``` docker run --name nacos-server-8850 \ -e MODE=cluster \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=localhost \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=12345678 \ -e MYSQL_SERVICE_DB_NAME=cloud2020 \ -e NACOS_SERVERS="10.0.0.35:8848 10.0.0.35:8849 10.0.0.35:8850" \ -p 8850:8848 \ --restart=always \ -d nacos/nacos-server:latest ``` 一键关闭 ✅ `docker-compose -f standalone-mysql-8.yaml stop` Shutdown 1. `docker stop mysql` 2. `docker stop rabbitmq` 3. `docker stop zipkin` 4. standalone Nacos: 1. `docker stop nacos-server-8848` 5. cluster Nacos: 1. 6. `docker stop sentinel` 7. `docker stop seata-server` #### 参与贡献 1. Fork 本仓库 2. 新建 feature/xxx 分支 3. 提交代码 4. 新建 Pull Request -> master