NACOS MalformedInputException 无法读取中文配置问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NACOS MalformedInputException 无法读取中文配置问题相关的知识,希望对你有一定的参考价值。
参考技术A 在windows平台中打包运行springboot jar包提示如下错误在nacos中删除中文也可以处理此问题,但不是最佳方案。
在idea中启动项目时,因为 idea相关配置中设置UTF-8的文件编码格式 file.encoding=utf-8 。打包运行后,该设置需要手动指定,如下
Nacos学习笔记 Nacos集群部署
1. 集群部署
3个或3个以上Nacos节点才能构成集群
(1) 安装3个以上Nacos
我们可以复制之前已经解压好的nacos文件夹,分别命名为nacos、nacos1、nacos2
(2) 配置集群配置文件
在所有nacos目录的conf目录下,有文件 cluster.conf.example ,将其命名为 cluster.conf ,并将每行配置成 ip:port。(请配置3个或3个以上节点)
#2022-12-23T16:14:53.171
192.168.174.1:8838
192.168.174.1:8848
192.168.174.1:8858
由于是单机演示,需要更改nacos/的conf目录下application.properties中server.port,防止端口冲突。
如果服务器有多个ip也要指定具体的ip地址,如:nacos.inetutils.ip-address=127.0.0.1 .
例如:
server.port=8838
nacos.inetutils.ip‐address=127.0.0.1
(3) 集群模式启动
分别执行nacos目录的bin目录下的startup:
startup -m cluster
在任意一个nacos的控制台中,可以看到如下内容:
主从信息:
2. 客户端配置
所有客户端, 分别指定 nacos 集群中的若干节点:
server:
port: 8080
spring:
application:
name: nacos-provide
cloud:
nacos:
config:
max-retry: 10
discovery:
server-addr: 127.0.0.1:8838,127.0.0.1:8848,127.0.0.1:8858
测试 , 使用快速上手的例子:
(1)关掉127.0.0.1:8848 nacos Leader实例,发现Leader被成功选举至127.0.0.1:8838
(2)紧接着重新启动Provider,这时马上请求consumer的/service出现错误,发现consumer与provider通信已经出现问题。但经过短暂的时间后,通信恢复.
通过测试,我们可以看到,通过以上的集群部署已经达到了高可用的效果。
3. 生产环境部署建议
下图是官方推荐的集群方案,通过域名 + VIP模式的方式来实现。客户端配置的nacos,当Nacos集群迁移时,客户端配置无需修改.
至于数据库,生产环境下建议至少主备模式。通过修改$nacoshome/conf/application.properties文件,能够使nacos拥有多个数据源。
spring.datasource.platform=mysql
db.num=2
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&autoReconnect=true
db.url.1=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&autoReconnect=true
db.user=root
db.password=root
以上是关于NACOS MalformedInputException 无法读取中文配置问题的主要内容,如果未能解决你的问题,请参考以下文章