使用Boop武/java - Gitee.com 中的 Spring-cloud-demo1 作为改进 , 注意修改子项目和父项目之间的名称 最后的项目为Spring-cloud-nacos
上一篇文章 严重BUG 修复方法
注意如果是轻量级服务器 , 需要提前修改 nacos 配置 , 否则导致服务器 cpu 占用率过高 (如果服务器已经挂了,请尝试重启)ps -ef|grep nacos 找到进程 ID ; kill -15 ID 杀死进程
解决方法 :
① find /root -name "startup.sh" 找出启动脚本的位置
② cd /root/nacos/nacos/bin (进入你查询到的位置)
③ sed -i 's/-Xms2g -Xmx2g -Xmn1g/-Xms512m -Xmx512m -Xmn256m/g' startup.sh 这条命令会将脚本中的 JVM 堆内存设置从 2GB 降低到 512MB,新生代内存降低到 256MB。这对 2GB 总内存的服务器来说是最安全的配置
④ bash startup.sh -m standalone 单机启动
快速上手
① 引入 spring-cloud-alibaba 依赖
将以下两块代码添加到对应位置


html
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
html
<spring-cloud-alibaba.version>2022.0.0.0-RC2</spring-cloud-alibaba.version>
② 引入 nacos 相关依赖
在两个子项目中添加依赖

html
<dependency> <groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
③ 引入 load balance 依赖
在两个子项目中添加负载均衡依赖
html
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
④ 修改配置

需要修改两处的配置文件
html
application:
name: order-service
cloud:
nacos:
discovery:
server-addr:
html
application:
name: product-service
cloud:
nacos:
discovery:
server-addr:
⑤ 远程调用
修改 ip 为项目名

为 config 加上 @LoadBalanced 注解

⑥ 测试
- 如果启动失败,需要在云服务中开放 9848 端口,并重启服务
- 如果项目一直重连 , 可以将 application.yml 更名为bootstrap.yml****(引导上下文)
如果要使用bootstrap.ym 需要引入依赖 , spring 在新版本中是禁用状态的
html
<!-- SpringCloud 2020.*之后版本需要引⼊bootstrap-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
或者不更名 在 pom 中引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency>

测试
刷新Nacos
