码迷,mamicode.com
首页 > 编程语言 > 详细

【SpringCloud】Spring Cloud Alibaba 之 Nacos集群和持久化(二十九)

时间:2020-05-20 22:47:24      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:div   nginx服务   connect   重新编译   控制   centos 7   编辑   data   proxy   

Nacos支持三种部署模式

  • 单机模式 - 用于测试和单机试用。
  • 集群模式 - 用于生产环境,确保高可用。
  • 多集群模式 - 用于多数据中心场景。

  官网查看:https://nacos.io/zh-cn/docs/deployment.html

单机模式

    启动命令:sh startup.sh -m standalone

单机模式支持mysql

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

  • 1.安装数据库,版本要求:5.6.5+
  • 2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql(在nacos根目录的conf目录下)
  • 3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
1 spring.datasource.platform=mysql
2 
3 db.num=1
4 db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
5 db.user=nacos_devtest
6 db.password=youdontknow

集群模式下运行Nacos

  官网架构图,如下:

  技术图片

  可以看到官网也是推荐部署三个Nacos节点,节点前面使用一个VIP(虚拟IP代理),来访问三个节点

  本例Nacos集群结构如下:

  使用Nginx(Nginx也可以是高可用模式的,参考:【Web】Keepalived+Nginx 实现高可用集群  )反向代理三个节点,三个节点分别连同一个高可用的MySQL数据库

  技术图片

  示例

准备数据库

  1、准备一个MySQL数据库(本例使用5.6版本的,5.8版本的需要更改JDBC驱动,重新编译)

    具体步骤见前面:单机模式支持mysql

搭建Nacos集群

  环境:CentOS 7.4

  本例在同一台机器上搭建三个节点8845、8846、8847,机器局域网ip:192.168.1.4

  1、在git(https://github.com/alibaba/nacos)上下载安装包,nacos-server-1.2.1.tar.gz

  2、解压压缩包,复制三份解压后的文件

  3、在三个节点中,分别复制conf目录中cluster.conf.example文件,命名为:cluster.conf,三个节点内容都是一样的,如下:

1 #it is ip
2 #example
3 # 不能使用127.0.0.1,可能出问题
4 # 必须是Linux命令hostname -i能识别的ip
5 192.168.1.4:8845
6 192.168.1.4:8846
7 192.168.1.4:8847

  4、修改三个节点的 application.properties 配置文件内容,主要修改内容如下:

1 server.port=8845
2 
3 db.num=1
4 
5 db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
6 db.user=root
7 db.password=123456

    其他节点文件,只有端口不一样

  5、分别启动三个节点

    启动命令:sh ./bin/startup.sh

   6、测试,使用浏览器访问地址:http://192.168.1.4:8845/nacos

    技术图片

Nginx反向代理

  1、安装一个Nginx,参考【Web】Nginx下载与安装

  2、编辑Nginx的配置文件,nginx.conf,内容如下:

upstream nacos-cluster {
    server 192.168.1.4:8845;
    server 192.168.1.4:8846;
    server 192.168.1.4:8847;
}

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

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

  3、启动Nginx服务

  4、浏览器使用地址:http://192.168.1.4/nacos,访问nginx,能正常访问

  5、查看Nacos的Web界面-〉集群管理-〉节点列表,可以看到节点信息、节点状态等

    技术图片

Nacos客户端测试  

  1、搭建一个Nacos客户端项目,参考:【SpringCloud】Spring Cloud Alibaba 之 Nacos配置中心(二十八)

  2、项目配置如下:

 1 spring:
 2   application:
 3     name: nacos-config-client
 4   cloud:
 5     nacos:
 6       discovery:
 7         server-addr: 192.168.1.4:80
 8       config:
 9         server-addr: 192.168.1.4:80
10         # 配置内容文件的数据格式,默认值:properties
11         file-extension: yaml

  3、在nacos服务中,新增一个配置dataId为:nacos-config-client-dev.yaml

  4、启动项目,查看Nacos的Web界面中,服务是否注册进来

  5、浏览器访问项目,查看是否正确获取的了配置文件内容

多集群模式

Nacos支持NameServer路由请求模式,通过它您可以设计一个有用的映射规则来控制请求转发到相应的集群,在映射规则中您可以按命名空间或租户等分片请求...

【SpringCloud】Spring Cloud Alibaba 之 Nacos集群和持久化(二十九)

标签:div   nginx服务   connect   重新编译   控制   centos 7   编辑   data   proxy   

原文地址:https://www.cnblogs.com/h--d/p/12926803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!