SpringCloud Alibaba Nacos集群搭建

Posted 小毕超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Alibaba Nacos集群搭建相关的知识,希望对你有一定的参考价值。

一、Nacos

前面的文章中我们讲解了Spring Cloud H版SR9版本全家桶,从本篇文章开始步入SpringCloud Alibabba,首先我们了解下什么是nacos。

Nacos 致力于发现、配置和管理微服务。提供了一组简单易用的特性集,帮助快速实现动态服务发现、服务配置、服务元数据及流量管理。
可以更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

二、CenterOS 中Nacos集群搭建

Nacos相比于eureka优点是不需要我们在创建项目进行集成,官方已经有集成好的安装包,我们直接使用即可。

首先进入官网,下载安装包:

https://github.com/alibaba/nacos/releases


下载好安装包,下面我们来搭建下nacos集群,下面先看下我们的部署架构:

主机角色
192.168.40.130mysql,nacos1
192.168.40.167nginx,nacos2
192.168.40.168nacos3

开始安装Nacos集群

注意nacos依赖于java环境,安装前,确保已经安装好jdk

以下配制在三台主机上均做相同操作。

  • 将安装包上传至服务器中
scp C:\\Users\\Administrator\\Desktop\\nacos\\nacos-server-2.0.3.tar.gz root@192.168.40.130:/nacos
  • 解压安装包
tar -zxvf nacos-server-2.0.3.tar.gz
  • 进入conf 目录下,在mysql 数据库中新建数据库nacos_config数据库,然后执行 nacos-mysql.sql sql脚本

  • 复制一份 cluster.conf
cp cluster.conf.example cluster.conf
  • 修改为以下内容:
192.168.40.130:8848
192.168.40.167:8848
192.168.40.168:8848
  • 修改 application.properties,主要修改mysql的连接
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.40.130:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC       
db.user.0=root
db.password.0=root123  

  • 进入bin 目录启动nacos
./startup.sh


如果启动内存不够,修改下startup.sh

JAVA_OPT="$JAVA_OPT -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"


启动后查看/log/start.out

已经安装成功了,下面随便写其中一个ip 进入可视化页面:

http://192.168.40.168:8848/nacos

用户名\\密码:nacos\\nacos

配制Nginx

使用nginx统一访问入口,修改nginx的配制文件 nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events 
    worker_connections  1024;


http 
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
    
    upstream backserver  
     	server 192.168.40.130:8848; 
     	server 192.168.40.167:8848; 
     	server 192.168.40.168:8848; 
     
    
    server 
        listen    8849;
        server_name  192.168.40.167;
        location / 
		    proxy_pass  http://backserver;
			index  index.html index.htm;
        
    


下面使用http://192.168.40.167:8849/nacos即可

三、测试

从nginx入口进入nacos,创建一个配制文件:


创建后去每个主机下的nacos中查看:

由于数据存在mysql数据库中,其他节点也肯定有,也保证了数据的一致性。


喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

以上是关于SpringCloud Alibaba Nacos集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud Alibaba——服务注册与发现(Nacos)

SpringCloud Alibaba之Nacos组件

springcloud 微服务Spring Cloud Alibaba 整合Nacos实战

SpringCloud Alibaba Nacos集群搭建

SpringCloud - Spring Cloud Alibaba 之 Nacos

SpringCloud Alibaba 使用Nacos作为配置中心及配置隔离讲解