栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Nacos

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nacos

  1. Nacos
    1. 准备工作
    2. 下载与安装
    3. 初始化配置
    4. 访问方式(2种)
      1. nacos的bin目录去通过指令启动

      2. idea中直接启动

    5. 服务注册与调用入门(重点)
      1. 创建服务提供者工程(module名为sca-provider,假如已有则无需创建),继承parent工程(01-sca),其pom.xml文件内容如下:

      2. 创建并修改配置文件application.yml(或者application.properties),实现服务注册,关键代码如下:

      3. 创建启动类(假如已有则无需定义),关键代码如下:

    6. 消费者服务发现及调用
    7. 服务负载均衡设计及实现(重点)
      1. LoadBalancerClient应用

      2. @LoadBalanced应用

      3. Ribbon负载均衡策略(了解)

    8. 基于Feign的远程服务调用(重点)
      1. Feign应用实践(掌握)

        1. 在服务消费方,添加项目依赖(SpringCloud团队基于OpenFeign研发了starter),代码如下:

        2. 在启动类上添加@EnableFeignClients注解,代码如下:

        3. 定义Http请求API,基于此API借助OpenFeign访问远端服务,代码如下:

        4. 创建FeignConsumerController中并添加feign访问,代码如下:

        5. 启动消费者服务,在浏览器中直接通过feign客户端进行访问,如图所示(反复刷新检测其响应结果):

      2. Feign配置进阶实践

      3. Feign 调用过程分析(了解)

    9. 配置中心
      1. Nacos配置测试案例

        1. 业务描述

          1. 在sca-provider项目中添加一个Controller对象,例如ProviderLogController,基于此Controller中的方法演示日志级别的配置。

        2. 配置准备工作

          1. 创建ProviderLogController对象

            package com.jt.provider.controller;
            
            import lombok.extern.slf4j.Slf4j;
            import org.slf4j.Logger;
            import org.slf4j.LoggerFactory;
            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;
            
            import java.util.ArrayList;
            import java.util.List;
            
            //@Slf4j //lombok中的这个注解用于告诉lombok,为我们的类中创建一个org.slf4j.Logger对象
            @RefreshScope//此注解描述类时,用于告诉系统底层,当配置中心内容发生变化,此对象要重新重建
            @RestController
            public class ProviderLogController {
                //import org.slf4j.Logger; //slf4j是基于门面模式设计的一套API
                //import org.slf4j.LoggerFactory;
                //构建日志对象
                private static final Logger log=//logback
                        LoggerFactory.getLogger(ProviderLogController.class);
                        //LoggerFactory.getLogger("com.jt.provider.controller.ProviderLogController");
            
                //http://localhost:8081/provider/log/doLog01
                @GetMapping("/provider/log/doLog01")
                public String doLog01(){
                    System.out.println("==doLog01==");
                    //trace 

          2. 在已有的sca-provider项目中添加如配置依赖

              
                    com.alibaba.cloud
                    spring-cloud-starter-alibaba-nacos-config
              
            

          3. 将项目sca-provider的application.yml的名字修改为bootstrap.yml(启动优先级最高),并添加配置中心配置

            spring:
              application:
                name: sca-provider
              cloud:
                nacos:
                  discovery:
                    server-addr: localhost:8848
                  config:
                    server-addr: localhost:8848
                    file-extension: yml # Configure the data format of the content, default to properties
            

        3. 新建Nacos配置

        4. 测试Nacos数据读取

        5. @RefreshScope注解的应用

          1. 在ProviderLogController类的上面添加一个@RefreshScope注解

            @RefreshScope
            @RestController
            public class ProviderLogController{
              //.....
            }
            

            其中,@RefreshScope的作用是在配置中心的相关配置发生变化以后,能够及时看到类中属性值的更新(底层是通过重新创建Controller对象的方式,对属性进行了重新初始化)。

          2. 添加ProviderLogController中添加一个获取日志级别(debug

            @Value("${logging.level.com.jt:error}")
            private String logLevel;
            @GetMapping("/provider/log/doLog02")
            public String doLog02(){
               log.info("log level is  {}",logLevel);
               return  "log level  is "+logLevel;
            }
            

          3. 启动sca-provider服务,然后打开浏览器并输入http://localhost:8081/provider/log/doLog02进行访问测试。

      2. Nacos配置管理模型

        1. 概述

        2. 测试案例

          1. 命名空间设计

          2. 分组设计及实现

          3. 共享配置设计及读取

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678248.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号