注册中心实战
- 1.快速使用
- 1.1 版本选择
- 1.2 父pom
- 1.3 nacos-client pom
- 1.4 nacos-client bootstrap.yaml配置
- 2.常用配置
- 3.Nacos Server环境搭建
- 3.1 单机模式启动
- 3.1.1 解压,进入nacos目录 进入bin目录下,编辑startup.cmd脚本, 设置启动模式为单机,修改后直接启动
- 3.1.2 访问nacos的管理端:[http://localhost:8848/nacos](http://localhost:8848/nacos) ,默认的用户名密码是 nacos/nacos
- 3.2 集群模式启动
- 3.2.1 环境准备
- 3.2.2 修改配置
- 3.2.2.1 使用外置数据源
- 3.2.2.2 添加集群节点配置
- 3.2.2.3 创建nacos数据库
- 3.2.2.4 分别启动三个节点上的nacos
1.快速使用
1.1 版本选择
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
1.2 父pom
<properties><java.version>1.8</java.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><spring-cloud.version>Spring Cloud Hoxton.SR12</spring-cloud.version><spring-cloud-alibaba.version>2.2.9.RELEASE</spring-cloud-alibaba.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><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></dependencies></dependencyManagement>
1.3 nacos-client pom
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies>
1.4 nacos-client bootstrap.yaml配置
server:port: 8020spring:application:name: nacos-client #微服务名称#配置nacos注册中心地址cloud:nacos:discovery: 127.0.0.1:8848
项目结构如下:
2.常用配置
更多关于 spring-cloud-starter-alibaba-nacos-discovery 的 starter 配置项如下所示:
3.Nacos Server环境搭建
单机模式
官方文档: https://nacos.io/zh-cn/docs/deployment.html
下载安装包
下载地址:https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz
3.1 单机模式启动
以在windows启动为例,linux环境下只是脚本的后缀不一样。操作都是一样的
3.1.1 解压,进入nacos目录 进入bin目录下,编辑startup.cmd脚本, 设置启动模式为单机,修改后直接启动
3.1.2 访问nacos的管理端:http://localhost:8848/nacos ,默认的用户名密码是 nacos/nacos
3.2 集群模式启动
官网文档: https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
3.2.1 环境准备
- 安装好 JDK,需要 1.8 及其以上版本
- 建议: 2核 CPU / 4G 内存 及其以上
- 建议: 生产环境 3 个节点 及其以上
# 准备三台centos7服务器
192.168.16.101
192.168.16.102
192.168.16.103
注意:在单台服务器上搭建伪集群不能使用连续端口号(比如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请求服务端端口,用于服务间同步等 |
3.2.2 修改配置
3.2.2.1 使用外置数据源
修改conf/application.properties的配置,使用外置数据源
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000
&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
3.2.2.2 添加集群节点配置
将conf/cluster.conf.example改为cluster.conf
mv conf/cluster.conf.example conf/cluster.conf
vim conf/cluster.conf# ip:port
192.168.16.101:8848
192.168.16.102:8848
192.168.16.103:8848
注意:不要使用localhost或127.0.0.1,针对多网卡环境,nacos可以指定网卡或ip
#多网卡选择
#ip-address参数可以直接设置nacos的ip
#该参数设置后,将会使用这个IP去cluster.conf里进行匹配,请确保这个IP的值在cluster.conf里是存在的
nacos.inetutils.ip-address=192.168.16.101#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]=26.5.124.
另外两台机器按同样的方式配置。
3.2.2.3 创建nacos数据库
sql脚本:conf/nacos-mysql.sq
3.2.2.4 分别启动三个节点上的nacos
以192.168.16.101为例,进入nacos目录,启动nacos
#启动nacos
至此nacos集群搭建完成