美文网首页网络
Spring Cloud alibaba之Nacos

Spring Cloud alibaba之Nacos

作者: 山巅自相见 | 来源:发表于2022-04-11 11:17 被阅读0次

    什么是Nacos

    官方解释:一个更易于构建云原生应用的动态服务发现(Nacos Discovery)服务配置(Nacos Config)和服务管理平台。
    集注册中心+配置中心+服务管理的一个平台
    Nacos关键特性:

    • 服务发现和服务健康监测
    • 动态配置服务
    • 动态DNS服务
    • 服务及其元数据管理

    核心功能

    服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。Naocs Server接收到注册请求后,就会把这些元数据信息储存在一个双层的内存Map中。
    服务心跳:在注册服务后,Nacos Client会维护一个定时心跳来维持通知Naxos Server,说明服务一直处于可用状态,防止被剔除。默认5s发送一次心跳。
    服务同步:Nacos Server集群之前会互相同步服务实例,用来保证服务信息的一致性。
    服务发现:服务消费者(Nacos Client)会开启一个定时任务用来检查注册服务实例的健康情况,对于超过15s没有收到客户端心跳的实例会将它的healthy属性设置为false(客户端服务发现时不会发现),如果某个实例超过30s没有收到心跳,直接剔除该实例(被剔除的实例如果恢复发送心跳则会重新注册)

    主流的注册中心的区别

    CAP C一致性 A可用性 P分区容错性

    - Nacos Eureka Consul CoreDNS Zookerper
    一致性协议 CP+AP AP CP CP
    健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive
    负载均衡策略 权重/metadata/Selector Ribbon Fabio RoundRobin
    雪崩保护
    自动注销实例 支持 支持 支持 不支持 支持
    访问协议 HTTP/DNS HTTP HTTP/DNS DNS TCP
    监听支持 支持 支持 支持 不支持 支持
    多数据中心 支持 支持 支持 不支持 不支持
    跨注册中心同步 支持 不支持 支持 不支持 不支持
    SpringCloud集成 支持 支持 支持 不支持 支持
    Dubbo集成 支持 不支持 支持 不支持 支持
    K8S 支持 不支持 支持 支持 不支持

    Nacos Server部署

    下载地址
    点击查找历史版本


    找到1.4.1版本

    点开Asswts,下载zip文件。gz文件是linux环境用的。

    下载好以后,先解压,然后进入bin文件夹,其中startup.cmd是windows的启动文件,startup.sh是linux的启动文件。双击startup.cmd文件,等到出现use embedded storage后,Nacos Server就启动成功了。
    nacos的默认端口是8848

    Spring Cloud alibaba版本选型

    组件版本关系

    Spring Cloud alibaba Version Sentinel Version Nacos Version RocketMQ Version Dubbo Version Seate Version
    2.2.4.RELEASE 1.8.0 1.4.1 4.4.0 2.7.8 1.3.0
    2.2.3.RELEASE or 2.1.3.RELEASE or 2.0.3.RELEASE 1.8.0 1.3.3 4.4.0 2.7.8 1.3.0
    2.2.1.RELEASE or 2.1.2.RELEASE or 2.0.2.RELEASE 1.7.1 1.2.1 4.4.0 2.7.6 1.2.0
    2.2.0.RELEASE 1.7.1 1.1.4 4.4.0 2.7.4.1 1.0.0
    2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE 1.7.0 1.1.4 4.4.0 2.7.3 0.9.0
    2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE 1.6.3 1.1.1 4.4.0 2.7.3 0.7.1

    Nacos管理界面详细介绍

    命名空间


    在服务列表的左上角有一个public,这个是服务的命名空间,默认给的就是public。实际开发中可能会有非常多的服务,如果全部把它们都放在public中会显得非常的乱,难以管理。
    我们可以在目录中找到命名空间,可以看见只有一个默认的public。点击新建命名空间

    可以先随便写下,看下最终效果。

    点击确定后,可以看见命名空间多出了我们刚才新建的命名空间。在服务列表的左上角也多出了刚才新建的命名空间

    隐藏空服务


    隐藏空服务对应的是右边的创建服务。点击创建服务,随便填一下,保护阈值先写0。

    我们把隐藏空服务按钮关掉的话,会多出刚才新建的服务,打开就会隐藏掉。因为我们新建的服务没有服务被注册,所以可以被隐藏掉

    更多配置

    配置项 Key 默认值 说明
    服务端地址 spring.cloud.nacos.discovery.server-addr Nacos Server 启动监听的ip地址和端口
    服务名 spring.cloud.nacos.discovery.service ${spring.application.name} 给当前的服务命名
    服务分组 spring.cloud.nacos.discovery.group DEFAULT_GROUP 设置服务所处的分组
    权重 spring.cloud.nacos.discovery.weight 1 取值范围1到100,数值越大,权重越大
    网卡名 spring.cloud.nacos.discovery.network-interface 当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址
    注册的IP地址 spring.cloud.nacos.discovery.ip 优先级最高
    注册的端口 spring.cloud.nacos.discovery.port -1 默认情况下不用配置,会自动探测
    命名空间 spring.cloud.nacos.discovery.namespace 常用娼妓那个之一是不通用的环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
    AccessKey spring.cloud.nacos.discovery.access-key 当要上阿里云时,阿里云上面的一个云账号名
    SecretKey spring.cloud.nacos.discovery.secret-key 当要上阿里云时,阿里云上面的一个云账号密码
    Metadata spring.cloud.nacos.discovery.metadata 使用Map格式配置,用户可以根据自己需要自定义一些和服务相关的元数据信息
    日志文件名 spring.cloud.nacos.discovery.log-name
    集群 spring.cloud.nacos.discovery.cluster-name DEFAULT 配置成Nacos集群名称
    接入点 spring.cloud.nacos.discovery.enpoint UTF-8 地狱的某个服务入口域名,通过此域名可以动态地拿到服务端地址
    是否集成Ribbon robbon.nacos.enabled true 一般设置成true即可
    是否开启Nacos Watch spring.cloud.nacos.discovery.watch.enabled true 可以设置成false来关闭watch

    相关文章

      网友评论

        本文标题:Spring Cloud alibaba之Nacos

        本文链接:https://www.haomeiwen.com/subject/sieysrtx.html