Nacos 高级
一 、服务集群
需求
-
服务提供者搭建集群
-
服务调用者,依次显示集群中各服务的信息
搭建
-
修改服务提供方的controller,打印服务端端口号
package com.czxy.controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
* @author 桐叔
* @email liangtong@itcast.cn
*/
@RestController
public class EchoController {
@Resource
private HttpServletRequest request;
@RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
public String echo(@PathVariable String string) {
int serverPort = request.getServerPort();
return "Hello Nacos Discovery " + string + ":" + serverPort;
}
}
-
编写yml配置
#端口号
server:
port: 8170
spring:
application:
name: service-provider #服务名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服务地址
#端口号
server:
port: 8270
spring:
application:
name: service-provider #服务名
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos服务地址
-
配置idea启动项
测试
-
启动3个服务(2个服务提供,1个服务消费)
-
查看nacos控制台
二、 加载配置文件顺序
-
对
3.4.5章节/第4步
内容进行详解 -
加载配置文件的顺序(第4步详解)
nacos 配置 DataId 介绍
-
nacos 提供了3种方式,配置dataId的加载顺序
A: 共享配置:(过时),使用 shared-configs 替代
spring.cloud.nacos.config.shared-dataids
spring.cloud.nacos.config.refreshable-dataids
B: 加载多配置:(过时),使用 extension-configs 替代
spring.cloud.nacos.config.ext-config[n]
C: 内部规则拼接:
spring.cloud.nacos.config.prefix
spring.cloud.nacos.config.file-extension
spring.cloud.nacos.config.group
Nacos集群搭建
概述
-
3个或3个以上Nacos节点才能构成集群
-
配置数据源
-
使用内置数据源
startup.cmd -p embedded
-
使用外置数据源(MySQL,参考4.4.2)
-
-
在一台主机配置多个节点的端口号不能连续。
-
例如:8841/8842/8843 不可用
-
例如:8841/8843/8845 可用
-
配置步骤
-
节点1:配置Nacos8841
-
配置数据源
-
修改端口号:8841
-
配置集群配置文件
-
启动服务:startup.cmd
-
-
节点2:复制Nacos8843
-
修改端口号:8843
-
启动服务:startup.cmd
-
-
节点3:复制Nacos8845
-
修改端口号:8845
-
启动服务:startup.cmd
-
配置详情
配置节点1
-
拷贝nacos,并重命名
nacos-2.1.0-8841
-
配置数据源
-
修改端口号:8841
-
配置集群配置文件:拷贝
conf/cluster.conf.example
,重名为cluster.conf
-
启动服务:startup.cmd
-
成功启动
配置节点2
-
复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8843
-
修改端口号
-
启动服务
配置节点3
-
复制节点nacos-2.1.0-8841,并重命名nacos-2.1.0-8845
-
修改端口号
-
启动服务
配置成功
常见错误
-
db.num is null
错误提示:db.num is null
原因:没有配置数据库
-
unable to start embedded tomcat
错误提示:unable to start embedded tomcat
原因1:没有编写集群配置文件
原因2:安装目录有中文
-
内存不足
提示信息:
原因:内存不足,修改分配内存大小
-
Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb'
提示信息:Cannot determine JNI library name for ARCH='x86' OS='windows 10' name='rocksdb'
原因:nacos与jdk 系统位数(64位和32位,)不一致
-
JNI相关错误
提示信息: C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Can't find dependent libraries
结语
原因:JAVA_HOME配置的jdk安装目录,而不是jre安装目录
在本文中,我们深入探讨了 Nacos 高级版的功能和特性,展示了它如何提升开发和部署效率,为开发人员和运维团队带来更好的体验。无论是在微服务架构中使用、进行多环境部署还是进行灰度发布,Nacos 高级版都是一个强大而可靠的选择。如果你希望提升你的应用程序和服务的管理水平,不妨考虑尝试 Nacos 高级版吧!