环境搭建:Windows系统下Nacos集群搭建


一、环境准备

名称

版本

下载地址

nacos

NACOS 1.2.0

下载地址,提取码:5555

MySQL

mysql Ver 14.14 Distrib 5.5.57, for Win64 (AMD64)

下载地址,提取码:5555

JDK

openjdk version “11.0.5-BellSoft” 2019-10-15

下载地址,提取码:5555

二、集群环境搭建

2.1 下载Nacos,解压三份

nacos 本地开发环境公共微服务调用服务器服务_mysql

2.2 修改Nacos集群端口

进入nacos下的conf目录下将cluster.conf.example重命名为cluster.conf,打开该文件添加以下内容

nacos-8848 / nacos-8849/ nacos-8850

nacos 本地开发环境公共微服务调用服务器服务_nacos_02

10.71.11.206:8848
10.71.11.206:8849
10.71.11.206:8850

nacos 本地开发环境公共微服务调用服务器服务_nacos集群搭建_03

2.3 指定Nacos节点端口和数据库的连接参数

nacos 本地开发环境公共微服务调用服务器服务_mysql_04

nacos-8848

nacos 本地开发环境公共微服务调用服务器服务_nacos集群搭建_05

#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8848

#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false

### Specify local server's IP:
# nacos.inetutils.ip-address=127.0.0.1



#*************** Config Module Related Configurations ***************#
### If user 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
db.user=root
db.password=root
nacos-8849
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8849

#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false

### Specify local server's IP:
# nacos.inetutils.ip-address=127.0.0.1



#*************** Config Module Related Configurations ***************#
### If user 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
db.user=root
db.password=root
nacos-8850
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8850

#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false

### Specify local server's IP:
# nacos.inetutils.ip-address=127.0.0.1



#*************** Config Module Related Configurations ***************#
### If user 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
db.user=root
db.password=root

2.4 Nacos数据创建/初始化数据

在MySQL数据库中,新建数据nacos库并初始化数据

  • 执行conf目录下的nacos-mysql.sql数据库脚本,执行结果如下:

nacos 本地开发环境公共微服务调用服务器服务_spring_06

nacos 本地开发环境公共微服务调用服务器服务_mysql_07

nacos 本地开发环境公共微服务调用服务器服务_nacos集群搭建_08

2.5 指定Nacos的集群启动方式

  • nacos默认的启动方式是单机版,需要手动改成集群版启动
  • 将bin目录下的startup.cmd文件用记事本打开
  • 将如下位置的代码进行顺序交换

nacos 本地开发环境公共微服务调用服务器服务_MySQL_09

2.6 分别在三个服务器节点启动这三个nacos

到bin下点击startup.cmd即可启动

nacos 本地开发环境公共微服务调用服务器服务_nacos_10

nacos 本地开发环境公共微服务调用服务器服务_spring_11

nacos 本地开发环境公共微服务调用服务器服务_nacos集群搭建_12

2.7 浏览器访问

nacos 本地开发环境公共微服务调用服务器服务_spring_13

2.8 测试Nacos配置文件模块

nacos 本地开发环境公共微服务调用服务器服务_spring_14


nacos 本地开发环境公共微服务调用服务器服务_nacos_15

2.9 测试Nacos服务注册模块

编写email服务,注册到nacos集群上

1. 编写启动类

nacos 本地开发环境公共微服务调用服务器服务_nacos_16

@SpringBootApplication
@EnableDiscoveryClient
public class EmailServiceApplication6060 {

    public static void main(String[] args) {
        SpringApplication.run(EmailServiceApplication6060.class,args);
    }

}
2. 编写配置文件

nacos 本地开发环境公共微服务调用服务器服务_spring_17

server:
  port: 6060
spring:
  application:
    name: dabing-service-email
  cloud:
    nacos:
      discovery:
        ################ 配置nacos server地址
        server-addr: 10.71.11.206:8848,10.71.11.206:8849,10.71.11.206:8848
  main:
    allow-bean-definition-overriding: true

# springboot中暴露健康检查等断点接口
management:
  endpoints:
    web:
      exposure:
        include: "*"
  # 暴露健康接口的细节
  endpoint:
    health:
      show-details: always
dubbo:
  scan:
    # dubbo 服务扫描基准包
    base-packages: com.dabing.user.service.impl
  protocol:
    # dubbo 协议
    name: dubbo
    # dubbo 协议端口( -1 表示自增端口,从 20880 开始)
    port: -1
  registry:
    # 挂载到 Spring Cloud 的注册中心
    address: spring-cloud://localhost
3. 启动项目,访问nacos的web页面,进行服务注册情况

nacos 本地开发环境公共微服务调用服务器服务_MySQL_18