欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringCloudAlibaba 学习第一节 Nacos 下

程序员文章站 2022-03-14 09:49:11
...

Nacos集群架构简要介绍

    官网介绍https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html,为了避免单点故障,学习官网推荐的Nacos集群配置,
SpringCloudAlibaba 学习第一节 Nacos 下
    ,上图官网架构图比较模糊, Virtual IP 使用Nginx代理,3台Nacos 做集群,Mysql 做持久化配置。梳理出架构图如下,默认Nacos使用的是嵌入式数据库实现数据存储。所以如果需要启动多个Nacos节点,数据存储是存在一致性的问题的。为了解决这个问题,Nacos采用了集中式的存储方式来支持集群化部署,目前仅支持Mysql的存储。官方配置案例https://nacos.io/zh-cn/docs/deployment.html

Created with Raphaël 2.2.0 请求 nginx集群 nacos集群 mysql高可用数据库(主从/集群)

单机Nacos持久化配置

    默认持久化derby切换至Mysql。Nacos 1.3.2版本是默认支持Mysql 8.0。需要在nacos/conf/application.properties添加如下配置,并且nacos/conf/nacos-mysql.sql有需要在数据库执行的SQL脚本内容执行完成后
SpringCloudAlibaba 学习第一节 Nacos 下

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
db.user=用户名
db.password=密码

    重新启动Nacos之后,会得到全新的nacos
SpringCloudAlibaba 学习第一节 Nacos 下
    发布新的配置之后,在mysql数据库可以看到新的配置
SpringCloudAlibaba 学习第一节 Nacos 下

Nacos集群配置

     本地的nacos/conf/cluster.conf.example文件修改:新建cluster.conf 文件,对照cluster.conf.example,添加自己的配置,拷贝3份并修改端口号

#2020-09-28T17:02:32.878
192.168.0.169:3333
192.168.0.169:4444
192.168.0.169:5555
192.168.0.169:8848

SpringCloudAlibaba 学习第一节 Nacos 下
    安装nginx 并修改配置,具体修改内容如下


    #gzip  on;
	# nginx 实现负载均衡
    upstream cluster {
        server 192.168.0.169:3333;
        server 192.168.0.169:4444;
        server 192.168.0.169:5555;
        server 192.168.0.169:8848;
    }

    server {
    	# 换一个监听端口
        listen       10086;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # root   html;
            # index  index.html index.htm;
            # 服务代理
            proxy_pass http://cluster;
        }
      }

    启动nginx 并启动nacos,电脑有点卡先启动两台Nacos服务
SpringCloudAlibaba 学习第一节 Nacos 下
    
SpringCloudAlibaba 学习第一节 Nacos 下
    微服务9002 注册进入Nacos。application.yml配置文件修改

server:
  port: 9002

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:10086 # 配置nacos地址

management:
  endpoints:
    web:
      exposure:
        include: '*'

    注册成功
SpringCloudAlibaba 学习第一节 Nacos 下