Nacos部署微服务
进行一些基础配置
配置完后,以单机模式运行startup.cmd命令,启动
创建SpringBoot项目:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.situ</groupId><artifactId>sca-demo1-parent</artifactId><version>1.0.0</version><packaging>pom</packaging><!--定义所有的子模块--><modules><module>sca-brand-ms</module><module>sca-goods-ms</module><module>sca-good-feign-ms</module></modules><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!--管理依赖--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-jsqlparser</artifactId></dependency></dependencies><dependencyManagement><dependencies><!--导入springboot依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.4.8</version><type>pom</type><scope>import</scope></dependency><!--导入spring-cloud依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2024.0.2</version><type>pom</type><scope>import</scope></dependency><!--导入spring-cloud-alibaba依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.3.3</version><type>pom</type><scope>import</scope></dependency><!--导入mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.12</version></dependency><!--mybatis分页--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-jsqlparser</artifactId><version>3.5.12</version></dependency></dependencies></dependencyManagement><!--构建--><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.14.0</version></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.4.8</version></plugin></plugins></pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><!--跳过项目运行测试用例--><skipTests>true</skipTests></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><parameters>true</parameters><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></path></annotationProcessorPaths></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>
这是父项目的配置其中management类型只负责管理本pom文件的版本,并不会继承给子文件,因此这里选择版本号+具体组件的形式,这里注意:
父项目不需要启动类,只需要配置文件即可
接下来进行子项目创建
spring:application:name: brand-apidevtools:livereload:port: 35720datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/demo01?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghaiusername: rootpassword: 123456#nacos服务中心:cloud:nacos:discovery:server-addr: ${spring.cloud.nacos.server-addr}username: nacospassword: 123456namespace: b977e3eb-2d5f-46bf-9541-313c6e526193group: group01ip: 192.168.110.11port: ${nacos.port}55server-addr: 127.0.0.1:8848server:port: 9000mybatis-plus:configuration:log-prefix: mybatis.log-impl: org.apache.ibatis.logging.stdout.StdOutImpllazy-loading-enabled: truecache-enabled: falsetype-aliases-package: com.situ.brand.modelmapper-locations: classpath*:/mapper/**/*.xmlnacos:port: 9000
多了些nacos的相关配置,记得这里server的端口号要与nacos的一致,否则在后续的,被其他服务发现时,会无法访问该服务
开启负载均衡:
不要忘记导入pom包
常用的openFeign方案来实现a访问b的功能: