今天本来很想写一个由数据读取网关配置,避免每次上新模块都会去修改配置文件导致频繁操作。本以为集成个sc+nacos应该是一件很easy的事情,纸上得来终觉浅,一躬行发现问题接憧而来。接下来就一步一步的实现springCloud alibaba+nacos模块化项目搭建。
nacos本地环境搭建工欲善其事必先利其器,先把安装包安排上。网上普遍推荐是走gitlab官方去下载,慢的一撇。给大家来个传送门。
链接:https://pan.baidu.com/s/1aaICD4ytNB_pVdhB_OyDCg
提取码:sksb
导入config目录的nacos-mysql.sql文件
nacos mysql连接处理application.properties文件
此处新增mysql配置
spring.datasource.platform=mysql db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root单机模式修改启动文件
nacos默认是启动集群模式,单机模式需要修改startup.cmd文件的set MODE=“standalone”
启动,不出意外应该是成功
访问地址:http://127.0.0.1:8848/nacos/ 默认账号密码:nacos|nacos
父pom完整文件注意4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.4 com.ruoyuan.demo starter-parent 1.0.1 demoParent parent-jar pom 1.8 2.2.1.RELEASE Hoxton.RELEASE 1.4.1 2020.0.3 2.5.4 2021.1 1.16.22 8.0.26 3.1.2 1.1.9 2.2.7.RELEASE 2.2.7.RELEASE 1.4.1 4.0.1 2.2.1.RELEASE 2.5.4 xxx cloud-gateway org.springframework.boot spring-boot-dependencies ${spring-boot-dependencies.version} pom import org.springframework.cloud spring-cloud-dependencies ${spring-cloud-dependencies.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba-dependencies.version} pom import com.alibaba.cloud spring-cloud-starter-alibaba-sentinel ${starter-alibaba-sentinel.version} org.springframework.boot spring-boot-starter-actuator ${starter-actuator.version} org.springframework.boot spring-boot-starter-test ${spring-boot-dependencies.version} test org.projectlombok lombok ${lombok.version} mysql mysql-connector-java runtime ${mysql-connector-java.version} com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} com.baomidou mybatis-plus-boot-starter ${mybatis-plus.version} com.alibaba druid-spring-boot-starter ${druid-spring-boot-starter.version} org.springframework.cloud spring-cloud-starter-gateway ${spring-cloud-starter-gateway.version} com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery ${nacos-discovery.version} com.alibaba.nacos nacos-client ${nacos-client.version} javax.servlet javax.servlet-api ${javax.servlet-api.version} provided org.springframework.boot spring-boot-maven-plugin
注意这三者的依赖版本关系,如果项目报错Cannot resolve xxxxx:unknown 多半都是这几者的版本间依赖存在问题。pom依赖建议原封不动拷贝,然后自己酌情删除不需要的。
4.0.0 com.ruoyuan.demo starter-parent 1.0.1 com.ruoyuan.demo gateway 1.0.1 gateway jar Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter org.springframework.cloud spring-cloud-starter-loadbalancer com.alibaba.cloud spring-cloud-starter-alibaba-sentinel org.projectlombok lombok mysql mysql-connector-java runtime com.baomidou mybatis-plus-boot-starter com.baomidou mybatis-plus-boot-starter com.alibaba druid-spring-boot-starter org.springframework.cloud spring-cloud-starter-gateway org.springframework.boot spring-boot-starter-actuator com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery javax.servlet javax.servlet-api provided org.springframework.boot spring-boot-maven-plugin
pom文件建议原封不动拷贝,避免出现意料之外的问题
子模块配置文件server:
port: 8082
spring:
application:
name: demo-gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
数据库相关配置自己去百度
启动类修改
最后再在子pom启动类上加上@EnableDiscoveryClient就可以启动了
如有问题,希望大家评论区留言多多指教!如觉得写得还可以,就给一个赞吧!



