微服务7 nacos集群搭建

目录

1.官方集群结构

2.搭建集群

2.1搭建数据库

2.2下载安装nacos

2.3配置nacos

2.4启动

2.5nginx反向代理和负载均衡


1.官方集群结构

微服务7 nacos集群搭建_第1张图片

         请求进入以后,经过SLB负载均衡器分发到不同的nacos结点。

详细设计:3个nacos结点通过MySQL集群实现数据共享,nginx实现反向代理和负载均衡

微服务7 nacos集群搭建_第2张图片

 3个nacos结点还是使用不同的端口模拟

2.搭建集群

2.1搭建数据库

        Nacos 默认数据存储在内嵌数据库 Derby 中,不属于生产可用的数据库。官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库。这里我们以单点的数据库为例。

        首先新建一个数据库,命名为 nacos,而后导入下面的 SQL(在nacos安装目录 -> conf -> nacos-mysql.sql可找到)

2.2下载安装nacos

微服务5 Nacos注册中心_捣蛋孩学编程的博客-CSDN博客

2.3配置nacos

1.进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf

微服务7 nacos集群搭建_第3张图片

2.在文件末尾修改结点信息(端口占用要修改,我就是8846被占用,所以改成8849)

127.0.0.1:8845
127.0.0.1:8849
127.0.0.1:8847

3. 修改 application.properties 文件,添加数据库配置

spring.datasource.platform=mysql        #数据源

db.num=1    #数据源数量

#数据库信息
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=

2.4启动

1.将nacos文件夹复制三份,模拟三台机器

微服务7 nacos集群搭建_第4张图片

2.分别修改三个application.properties文件的端口

nacos1:

server.port=8845

nacos2:

server.port=8849

nacos3:

server.port=8847

 3.运行bin目录下的startup.cmd文件

        或者在bin目录下执行启动命令:

startup.cmd

微服务7 nacos集群搭建_第5张图片

2.5nginx反向代理和负载均衡

1.下载安装

        官网下载地址:http://nginx.org/en/download.html

微服务7 nacos集群搭建_第6张图片

         解压即安装

2.修改配置

        修改 nginx 文件夹下的 conf/nginx.conf 文件的http属性内添加

upstream nacos-cluster {
    server 127.0.0.1:8845;
    server 127.0.0.1:8849;
    server 127.0.0.1:8847;
}

server {
    listen       80;
    server_name  localhost;

    location /nacos {
        proxy_pass http://nacos-cluster;
    }
}

3.启动

        在安装目录执行启动命令

start nginx.exe

微服务7 nacos集群搭建_第7张图片

 访问http://localhost/nacos

微服务7 nacos集群搭建_第8张图片

404报错!!!

如果访问出现404,而检查配置无误,将监听端口80改为其他空闲的(如8888)测试,结束后再改回80测试,用什么端口无所谓,能跑就行

在访问的配置文件中配置:

spring:
  application:
    name: user-server # 服务名称
  cloud:
    nacos:
      server-addr: localhost:80/nacos #nacos服务地址

注意!!! 此处的nacos服务地址由添加在nginx.conf 文件的http属性的三部分组成,直接写localhost:80会连接失败

微服务7 nacos集群搭建_第9张图片

 微服务7 nacos集群搭建_第10张图片

 在nacos控制台创建配置

微服务7 nacos集群搭建_第11张图片

 发布失败可能是版本问题,创建数据库时要用自己nacos目录conf里面的nacos-mysql.sql文件,

测试访问:http://localhost:8081/user/prop

微服务7 nacos集群搭建_第12张图片

 可热更新,共享配置

其他用法参照:微服务5 Nacos注册中心_捣蛋孩学编程的博客-CSDN博客Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。https://blog.csdn.net/m0_62520968/article/details/127151912?spm=1001.2014.3001.5501微服务6 nacos配置管理_捣蛋孩学编程的博客-CSDN博客在user-server中的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml。从结果看出,两个实例都读取了共享配置user-server.yaml的envSharedValue属性和各自所属的环境配置。:项目的核心配置,需要热更新的配置才有放到 nacos 管理的必要。当微服务实例越来越多,配置就更繁杂,我们需要一个统一配置管理方案,可以集中管理所有实例的配置。extension-configs: # 多微服务间共享的配置列表。https://blog.csdn.net/m0_62520968/article/details/127163446?spm=1001.2014.3001.5501

你可能感兴趣的:(微服务,java,nacos,spring,cloud)