Nacos搭建及配置
nacos本机服务搭建
windows上搭建单机nacos:
Releases · alibaba/nacos · GitHub 下载安装包
下载本地,解压,直接运行(保证安装包的绝度路径只有英文字符,有中文会导致运行失败):
打开浏览器访问 http://localhost:8848/nacos/
docker安装nacos
docker run -d --env MODE=standalone --name nacos -v /Users/wangpei/2024/mydata/nacos/conf:/home/nacos/conf -p 8848:8848 nacos/nacos-server:1.4.2
出现这个问题因为没有对应文件,将下载的压缩包中的配置文件上传到容器对应目录下
重新启动容器,运行成功:
查看容器IP,使用命令
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nacos
这是内网IP,我们已经做过端口映射,直接本机访问即可:
本机地址192.168.1.4,ip访问
Nacos服务注册中心
如果启动后提示失败,异常信息是没有定义用于loadbalance负载均衡的Feign Client:
Caused by: java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer?
引入loadbalance依赖重新clean install
之后可以在nacos看到注册的服务:
Nacos服务配置中心
命名空间
首先在nacos上查看有哪些命名空间,可为对应的服务配置对应的命名空间:
默认如下:
手动添加多个namespace:
配置分组
在指定的命名空间(这里以order模块举例)下添加配置文件:
配置内容如下:
在代码里配置这个参数,并添加接口访问:
修改nacos配置,可以实时生效
可以根据环境配置多个分组,这里配置dev/prod进行测试:
dev配置如下:
修改bootstrap.properties指定分组为dev,重启服务访问接口:
配置拆分
bootstrap.properties首先被加载,读取nacos的配置文件。之后加载application.yml中此服务模块独有的配置,可以将配置进行拆分,更好维护,例如将datasource、 mybatis配置文件进行拆分: