SpringCloud Alibaba -Nacos【第二篇】

Nacos管理界面|集群搭建

Naocs的管理界面详细介绍,说明常用的功能介绍
部署Nacos集群模式



在这里插入图片描述

注意到:上图有一个public 这个是我通过 namespace来设置得到命名空间:
作用: 可以对不同的项目的不同的模块进行更好的分离和管理,

cloud:
    nacos:
      discovery:
        namespace: public # 默认是public 也可以不配置

一、服务列表


  • 左侧是一个功能列表选择区域,最顶部的TOP区域是Nacos管理页面的导航,最常用的也是文档用于方便查看文档教程参考。
  • 中间的main区域是显示了具体的操作:服务列表,搜索功能,创建服务的功能…
    • 服务名: 创建服务是为其定义的名称
    • 分组名称: 用于吧各个服务分离
    • 出发保护阈值: 用于检测心跳参数,来决定该服务是否已经挂掉 没有:false挂掉:true
    • 集群数目: 用于搭建Nacos的集群设置。

1.1 创建服务

可以先创建空服务,等待服务的注册

我们可以创建一个空的服务,来等待其他的人员去用这个已经声明好的服务名称去创建真正的服务。
在这里插入图片描述

1.2 服务详情

服务名:即项目名,对应配置文件中的

spring: 
 application:
  name: xxx

分组: 作用与命名空间大致相同,不过命名空间一般用于项目之间的区别,分组一般用作各个开发环境的区别

永久实例可以通过 ephemeral: false 来设置 ,对比临时实例,注册临时实例的服务,如果宕机了,nacos 会删除该服务,永久实例不会。
永久实例:意思就是当服务挂掉也不会过30s将服务从管理界面删除

保护阈值:
雪崩保护:填 0~1 的数字,例如设置 0.6。

 spring.cloud.nacos.discovery.ephemeral=false,当服务宕机了也不会从服务列表中剔除。

健康实例|不健康实例:
当健康实例数/总实例数量 < 保护阈值,依然会使用不健康的实例,防止服务雪崩,后期会结合 sentinel 来对服务进行熔断和降级。

雪崩保护就是对应着我们的保护阈值,雪崩就是所有的服务都不可用

权重
在这里插入图片描述
权重越大,为该服务所分配的流量就越大

订阅者列表
在这里插入图片描述
订阅者列表里面可以查询服务所在Java进程的详细信息

二、命名空间


在这里插入图片描述
创建命名空间
在这里插入图片描述
创建namespce命名空间的好处是可以在注册的时候,通过不同的是命名空间来完成对服务的不同的管理

那么我们在注册服务的时候,就可以通过namespce来是实现对不同服务的管理与统一协调。

三、Naocs更多配置

在这里插入图片描述
在Nacos里面,我们日常开发过程中,需要知道了解一些常用的配置命令,详细如下所示:

server:
  port: 8011
# 应用名称(nacos 会自动将该名称当作服务名称)
spring:
  application:
    name: stock-server
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      discovery:
        username: xxxxxx
        password: xxxxxx
        namespace: public # 相同特征的服务进行归类分组管理
        ephemeral: false # 永久实例
        network-interface: en4 # 当 IP 未配置时,注册的 IP 为此网卡配置的额 IP 地址,如果此项也未配置,默认取第一块网卡的地址
#        service: 默认取${spring.application.name},也可以通过该选项配置
#        group: 默认 DEFAULT_GROUP,用来做更细的相同特征的服务进行归类分组管理
#        weight: 通常要结合 按照 权重的负载均衡策略,权重越高分配流量越高
#        ip: 当前服务ip (默认 ip 和 port 都会自动探测到)所以可以不需要设置
#        port: 当前服务端口 可以不需要设置
#        metadata: version=1 可以结合元数据做拓展 key-value的形式

四、Nacos集群搭建

官网教程:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
在这里插入图片描述

1、预备环境准备

在Linux环境上进行搭建环境:

  1. Centos7
  2. JDK1.8
  3. Maven3.8.x
  4. 3个或3个以上的Nacos节点才能构建Nacos集群

2、下载Nacos Linux的安装包

通过两种方式来获取到Naocs的linux的安装包

1️⃣从GitHub上下载源码的方式,由于下载速度太慢,所以一般都是去找网盘地址

2️⃣在linux上通过拉去来下载

这里我提供一个Nacos1.4.1的linux安装连接
https://pan.baidu.com/s/1l-HvbHlt3KOPPuF4NApEzg 密码: 5j2o

3️⃣通过xftp上传到linux服务器上的opt目录下,进入到该目录下,解压缩:

# tar -zxvf nacos-server-1.4.1.tar.gz 

3、集群搭建

复制三个nacos的解压缩后的文件夹,命三个不同的名字,然后用于区分不同的客户端。
nacos8849;nacos8850;nacos8851
在这里插入图片描述

  • 1️⃣修改config里面的application.properties文件的配置,使用外置的数据源。
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
# spring.datasource.platform=mysql

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

### Connect URL of DB:
# 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=nacos
# db.password.0=nacos

在这里插入图片描述
吧把上述截图的datasource;dbnum;dburl;dbusername;dbpassword都注释放开

注意;如果要使用MySQL数据源的话,我们需要注意的是要用到MySQL的5.7+以上的版本

  • 2️⃣修改cluster.conf.example 的文件里面用于配置Naocs集群下的ip地址

    • 这里的三个端口分别是8849;8850;8851
ip:端口
example-->
192.168.111.123:8849

在这里插入图片描述
最后要把nacos的数据库新建出来,然后在将数据文件导入到新创建的MySQL数据库中

  • 3️⃣修改bin目录下的startup.sh文件,将其启动的方式为cluster模式,以及修改集群模式下的JVM参数(根据虚拟机配置的内存自行决定是否修改)

在这里插入图片描述

  • 4️⃣启动Nacos8849,并查看日志,是否启动成功
sh startup.sh   # 回到bin目录下启动nacos

在这里插入图片描述

启动后会提示查看日志

根据提示,我们查看日志

tail -f ../logs/start.out 

在这里插入图片描述

出现以上的截图效果,就表示参数配置的没有问题,nacos其余的从机,复制nacos8849的配置即可

这是我们也可以访问8849端口去查看nacos的管理端
浏览器输入登陆地址:http://192.168.188.129:8849/nacos/index.html
在这里插入图片描述

发现是ok的,但是也有的会出现无法登录的情况,这时候,我们需要检查8849的端口号是否放行

[root@centos7 bin]# firewall-cmd --zone=public --add-port=所需放行的端口号/tcp --permanent
success
# 等待出现上述命令出现success回应的时候,在输入下面的命令
[root@centos7 bin]# systemctl restart firewalld.service
  • 5️⃣复制nacos8849里面刚才修改过的3个文件
[root@centos7 opt]# cp nacos8849/conf/application.properties ./nacos8850/conf/application.properties
cp:是否覆盖"./nacos8850/conf/application.properties"? y
[root@centos7 opt]# cp nacos8849/conf/application.properties ./nacos8851/conf/application.properties
cp:是否覆盖"./nacos8851/conf/application.properties"? y
[root@centos7 opt]# cp nacos8849/conf/cluster.conf ./nacos8851/conf/cluster.conf
[root@centos7 opt]# cp nacos8849/conf/cluster.conf ./nacos8850/conf/cluster.conf
[root@centos7 opt]# cp nacos8849/bin/startup.sh ./nacos8850/bin/startup.sh 
cp:是否覆盖"./nacos8850/bin/startup.sh"? y
[root@centos7 opt]# cp nacos8849/bin/startup.sh ./nacos8851/bin/startup.sh 
cp:是否覆盖"./nacos8851/bin/startup.sh"? y
[root@centos7 opt]# vim nacos8850/conf/application.properties
[root@centos7 opt]# vim nacos8851/conf/application.properties
  • 6️⃣查看集群是否搭建完毕

在这里插入图片描述

4、使用Nginx完成反向代理,负载均衡

前提:事先在linux虚拟机上安装好nginx
1️⃣ 进入到nginx的安装目录下


2️⃣修改nginx.conf文件

upstream nacoscluster {
        server 192.168.188.129:8849;
        server 192.168.188.129:8850;
        server 192.168.188.129:8851;
    }

    server {
        listen       8847;
        server_name  localhost;

        location /nacos/{
            proxy_pass http://nacoscluster/nacos/;
        }
    }

在这里插入图片描述
3️⃣然后启动nginx

./nginx

4️⃣访问http://192.168.188.129:8847/nacos
在这里插入图片描述

这个时候我们只需要将我们的微服务的address改成nginx的地址即可实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@WAT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值