0
点赞
收藏
分享

微信扫一扫

尚硅谷SpringCloud2020简单学习记录(个人用)106-110集

小_北_爸 2022-04-14 阅读 72

Nacos集群部署

集群部署架构图

因此开源的时候推荐用户把所有服务列表放到一个vip下面,然后挂到一个域名下面

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

http://SLB:port/openAPI 挂载SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),直连SLB即可,下面挂server真实ip,可读性不好。

http://nacos.com:port/openAPI 域名 + SLB模式(内网SLB,不可暴露到公网,以免带来安全风险),可读性好,而且换ip方便,推荐模式。

这张图有点难以理解,可以看下面的:

默认Nacos使用嵌入式数据库实现数据的存储。所以,如果启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。

为了解决这个问题,Nacos采用了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储。

Nacos支持三种部署模式

单机模式 - 用于测试和单机试用。

集群模式 - 用于生产环境,确保高可用。

多集群模式 - 用于多数据中心场景。

实操的话都是集群模式,所以这里继续练习将以集群模式练习

单机模式支持mysql

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

1.安装数据库,版本要求:5.6.5+

2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql

3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。

之前那么多配置能保存下来(持久化)是因为nacos自带数据库derby,需要自行换成mysql

D:\nacos-server-1.1.4\nacos\conf找到nacos-mysql.sql,复制粘贴到自己的数据库生成相关内容(需先创建nacos_config数据库)

接着在application.properties添加以下内容,需要修改数据库用户和密码

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=root

db.password=root

再次启动nacosstartup.cmd -m standalone),输入http://localhost:8848/nacos ,登录即可看到之前的记录没有了,这时自行创建配置,可以在config-info里面找到新创建的配置

现在进行linuxNacos+MySQL生产环境配置,预计需要一个nginx 3nacos注册中心和一个mysql

首先确保linux下有安装mysql

CentOS7安装MySQL(完整版)_Y.zh的博客-CSDN博客_centos7安装mysql

Mysql安装失败-GPG验证不通过_yaoyaozaiye的博客-CSDN博客

安装完毕后,去Release 1.1.4(Oct 24th, 2019) · alibaba/nacos · GitHub   下载nacos-server-1.1.4.tar.gz

linux下的opt文件夹下创建mynacos文件夹,把下载的文件解压

控制台下:

systemctl start  mysqld.service

mysql -uroot -p 输入密码

创建nacos_config数据库

opt/mynacos/nacos/conf/ nacos-mysql.sql的内容执行一遍即可

推荐使用远程连接到windows下数据库的方式操纵:

linux安装mysql及navicat连接 - 斗战圣猿 - 博客园

还是conf文件夹下,对application.properties进行备份application.properties.init

接下来对application.properties操作,和windows的操作一模一样

接下来复制一份cluster.conf.examplecluster.conf

输入内容:

192.168.174.128:3333

192.168.174.128:4444

192.168.174.128:5555

/mynacos/nacos/bin 目录下有startup.sh

平时单机版的启动,都是./startup.sh即可。

但是集群启动,我们希望可以类似其它软件的shell命令,传递不同的端口号启动不同的nacos实例。

命令:./startup.sh -p 3333 表示启动端口号为3333nacos服务器实例,和上一步的cluster.conf配置的一致。

打开文件,定位到:while getopts ":m:f:s:" opt

改成:

while getopts ":m:f:s:p:" opt

do

    case $opt in

        m)

            MODE=$OPTARG;;

        f)

            FUNCTION_MODE=$OPTARG;;

        s)

            SERVER=$OPTARG;;

        p)

            PORT=$OPTARG;;

        ?)

        echo "Unknown parameter"

        exit 1;;

    esac

done

接着到底部,进行修改:

nohup $JAVA-Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &

接着在bin目录下打开控制台,输入:

./startup.sh -p 3333

输出得到:/java/jdk1.8.0_311/bin/java  -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/mynacos/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/java/jdk1.8.0_311/jre/lib/ext:/java/jdk1.8.0_311/lib/ext:/opt/mynacos/nacos/plugins/cmdb:/opt/mynacos/nacos/plugins/mysql -Xloggc:/opt/mynacos/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dnacos.home=/opt/mynacos/nacos -Dloader.path=/opt/mynacos/nacos/plugins/health -jar /opt/mynacos/nacos/target/nacos-server.jar  --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/opt/mynacos/nacos/conf/ --logging.config=/opt/mynacos/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288

nacos is starting with cluster

nacos is startingyou can check the /opt/mynacos/nacos/logs/start.out

即代表启动成功,44445555也是这么启动的

接着就是配置nginx,首先要确定是否安装了nginx

Linux安装nginx - star-xin - 博客园

安装完毕后,到/usr/local/nginx/confnginx.conf进行修改,定位到#gzip  on;

#gzip  on;

    upstream cluster{

        server 127.0.0.1:3333;

        server 127.0.0.1:4444;

        server 127.0.0.1:5555;

    }

    server {

        listen       1111;

        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;

        }

全部配置完毕,启动333344445555

输入以下内容:

[root@localhost bin]# pwd

/opt/mynacos/nacos/bin

[root@localhost bin]# ./startup.sh -p 3333

[root@localhost bin]# ./startup.sh -p 4444

[root@localhost bin]# ./startup.sh -p 5555

[root@localhost bin]# ps -ef|grep nacos|grep -v grep|wc -l

3

再换个位置

[root@localhost sbin]# pwd

/usr/local/nginx/sbin

[root@localhost sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf

[root@localhost sbin]# ps -ef|grep nginx

进入网页,输入http://192.168.174.128:1111/nacos/#/login,进入NACOS发布一个配置

Idea启动9003,修改yml中:

server-addr: 192:168:174:128:1111

访问网页能看到配置信息即可

以上为106-110集的内容

举报

相关推荐

0 条评论