目录
一、nacos介绍
Nacos 是 Dynamic Naming and Configuration Service 的首字母简称;一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 的关键特性包括:
服务发现和服务健康监测
动态配置服务
动态 DNS 服务
服务及其元数据管理
官方文档: nacos.io/zh-cn/docs/…
OpenAPI文档:nacos.io/zh-cn/docs/…
二、单机模式
官方文档: nacos.io/zh-cn/docs/…
下载安装包
server-2.1.0.tar.gz
解压,进入nacos目录,单机模式启动nacos
#单机模式启动nacos
bin/startup.sh ‐m standalone
也可以修改默认启动方式
编辑
访问nacos的管理端:http://192.168.56.10:8848/nacos ,默认的用户名密
码是 nacos/nacos
编辑
三、集群模式
官网文档: nacos.io/zh-cn/docs/…
1、环境准备
安装好 JDK,需要 1.8 及其以上版本
建议: 2核 CPU / 4G 内存 及其以上
建议: 生产环境 3 个节点 及其以上
注意:在单台服务器上搭建伪集群不能使用连续端口号(比如8848,8849,8850), 因为使用8848(grpc会占用9848,9849),8849(grpc会占用9849,9850),会导致端口冲突
原因:Nacos2.x版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。
| 端口 | 与主端口的偏移量 | 描述 |
| 9848 | 1000 | 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求 |
| 9849 | 1001 | 服务端gRPC请求服务端端口,用于服务间同步等 |
2、配置
进入其中一台服务器的nacos目录
(1)修改conf/application.properties的配置,使用外置数据源
#使用外置mysql数据源
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.65.204:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
编辑
(2) 将conf/cluster.conf.example改为cluster.conf,添加节点配置
mv conf/cluster.conf.example conf/cluster.conf
vim conf/cluster.conf
# ip:port
192.168.65.174:8848
192.168.65.192:8848
192.168.65.204:8848
注意:不要使用localhost或127.0.0.1,针对多网卡环境,nacos可以指定网卡或ip
#多网卡选择
#ip‐address参数可以直接设置nacos的ip
#该参数设置后,将会使用这个IP去cluster.conf里进行匹配,请确保这个IP的值在cluster.conf里是存在的
nacos.inetutils.ip‐address=192.168.65.206
#use‐only‐site‐local‐interfaces参数可以让nacos使用局域网ip,这个在nacos部署的机器有多网卡时很有用,可以让nacos选择局域网网卡
nacos.inetutils.use‐only‐site‐local‐interfaces=true
#ignored‐interfaces支持网卡数组,可以让nacos忽略多个网卡
nacos.inetutils.ignored‐interfaces[0]=eth0
nacos.inetutils.ignored‐interfaces[1]=eth1
#preferred‐networks参数可以让nacos优先选择匹配的ip,支持正则匹配和前缀匹配
nacos.inetutils.preferred‐networks[0]=30.5.124.
其他几个nacos服务器按同样的方式配置。
(3)mysql中创建nacos数据库
sql脚本:
注意,nacos1和2版本的sql脚本有所区别。
(4) 如果内存不够,可以调整jvm参数
#修改启动脚本
vim bin\startup.sh
编辑
(5) 分别启动三个节点上的nacos
以192.168.65.204为例,进入nacos目录,启动nacos
#启动nacos
bin/startup.sh
编辑
(6) 访问nacos管理界面
登录http://192.168.65.204:8848/nacos,用户名和密码都是nacos
配置一个nginx,然后绑定到3个nacos上,就可以实现负载均衡了。