Nacos-01-Nacos的简介和安装

1:nacos简介

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
功能:

1,动态配置服务

动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。
讲人话就是以前写在代码中的配置参数,可以不写死在代码中了;我们可以都提取到nacos中,并且当nacos中的参数变更时,可以不重启服务就可以当即生效

在这里插入图片描述

2:服务发现及管理

动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。
作为一个RPC调用的框架,当微服务A调用微服务B时,只需要提前B在nacos中注册了,就可以在服务A中像调用本地方法一样,直接注入,引用

在这里插入图片描述

3,动态DNS服务

通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。

Nacos中文官方站点

2:nacos安装

1:环境准备

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

2:下载

  • 可以从github上直接下载
    在这里插入图片描述
  • 或者直接从我的网盘下载

链接:https://pan.baidu.com/s/1HEZupQHEHCAQytpcSfEj6A
提取码:4wtv

扫描二维码关注公众号,回复: 14813459 查看本文章

3:安装

1:unzip nacos-server-1.4.1.zip
2: cd nacos/bin
3:sh startup.sh -m standalone #standalone代表着单机模式运行,非集群模式

在这里插入图片描述

4:查看

访问;http://ip:8848/nacos
注:8848是默认端口,可以在nacos\conf\application.properties中修改
在这里插入图片描述

在这里插入图片描述

3:nacos简单实用-Helloworld

1:导包

 <!-- 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2:配置nacos

在bootstrap.yml中配置,他比application.yml加载的早
在这里插入图片描述

server:
  port: 18080
  servlet:
    context-path: /



spring:
  application:
    name: nacos_config_test
  cloud:
    nacos:
      config:
        server-addr: 换成自己的ip:8848
        namespace: 55f18581-f53b-4d17-b27a-d05d182fe1a9
        group: DEFAULT_GROUP
        name: nacos-test.yml
        file-extension: yml

在这里插入图片描述

3:从nacos中获取数据

通过@Value 读取配置:
通过@RefreshScope刷新读取最新配置;

package com.java1234.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/*
 * @description:
 * @author: wangkanglu 
 * @date: 2022/8/25 21:09
 * @param: 
 * @return: 
 **/
@RestController
@RequestMapping("/nacos")
@RefreshScope
public class NacosConfigController {
    
    

    @Value("${java.name}")
    private String name;

    @Value("${java.age}")
    private String age;

    @GetMapping("/getConfigInfo")
    public String getConfigInfo(){
    
    
        return name+":"+age;
    }
}

4:测试访问

代码地址:https://gitee.com/cangyu1024/nacos-demo.git

猜你喜欢

转载自blog.csdn.net/qq_41694906/article/details/126531597