[Spring Cloud] 快速上手nacos

使用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 注解

⑥ 测试

  1. 如果启动失败,需要在云服务中开放 9848 端口,并重启服务
  2. 如果项目一直重连 , 可以将 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

相关推荐
weixin_431600441 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
小强库计算机毕业设计1 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
canonical_entropy2 小时前
关于《Mission Driver:Loop Engineering 的一种通用参考实现》的补充说明
后端·agent·ai编程
__zRainy__2 小时前
Node系列 · Node基础:Node.js 概述
后端·node.js
星火10242 小时前
【LangChain4j系列06】ChatMemory 对话记忆管理
人工智能·后端
netCode2 小时前
Git一文带你理解如何使用
后端
睡觉时不困4423 小时前
12.LangChain 1.0+ 第二篇:Prompt、结构化输出与 LCEL 组件组合.发布清单
后端
SomeB1oody3 小时前
【RustyML入门】2.13. 孤立森林
开发语言·后端·机器学习·rust·教程
苏三说技术4 小时前
为什么越来越多人用 Pi ? - 苏三说技术
后端
YHL4 小时前
🚀 SSE 服务器发送事件与 BFF 层实战
前端·后端