传统大并发,高流量的场景不适合使用普通的技术,所以有了微服务
链接:【最适合小白学习的SpringCloud微服务实战-全程敲代码纯干货分享】https://www.bilibili.com/video/BV1UG411u7XP?vd_source=10e3dfac95ac3a6883b1f8a6c3bc65d5
nacos是springcloud的一个注册中心
下载zip
现在这个项目是作为父级,咱们可以把不必要的东西删掉
test和start不需要可以删掉
父级的作用就是控制版本,版本之间的对应关系一定要对,具体的对应关系可以在springcloudalibaba的GitHub/wiki中找到
ps:
Cannot resolve plugin org.springframework.boot:spring-boot-maven-plugin:2.7.3
因为springboot版本要和你的版本一样,解决方法:
(4条消息) Cannot resolve plugin org.springframework.boot:spring-boot-maven-plugin: 解决办法_大王我亲自来巡山的博客-CSDN博客
我将我的版本改成了和自己一样的2.5.2
nacos的bin文件夹中:cmd是Windows的启动脚本
如果启动不成功,编辑模式打开cmd文件(就是用记事本或者其他软件打开)
找到:set MODE="cluster"
将cluster修改为standalone
==注:==好习惯:添加注释:rem cluster
访问这里的地址,访问成功了说明项目启动成功了:
然后现在访问localhost:8848/nacos
访问成功
默认的账号密码都是nacos
使用maven新建子模块
的左右是在父级添加过依赖后,子模块就不用再添加了
这里对应的springboot的版本是2.4.2
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>2020.0.1version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-alibaba-dependenciesartifactId>
<version>2021.1version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
在模块的pom中添加
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
发现无法添加注解:要在子模块加一个依赖包:web组件
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
实体类:
@SpringBootApplication
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}
报错:
java.lang.IllegalArgumentException: Param 'serviceName' is illegal, serviceName is blank
原因是什么什么识别不了,要在父级添加一个依赖
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-bootstrapartifactId>
dependency>
虽然引用了nacos,但是没有注册,在启动类添加注解:
@EnableDiscoveryClient
resource中添加配置文件bootstrap.yml
server:
port: 8000
spring:
application:
name: service-order
cloud:
nacos:
server-addr: localhost:8848
discovery:
ephemeral: false #如果这里是一个短暂的实例,就用TRUE
看到nacos registry, DEFAULT_GROUP service-order 2.0.0.1:8000 register finished
说明注册成功
打开nacos查看,发现也注册好了
设置端口号和允许并发运行
添加springboot
就能看到了:
三个都运行后: