- Nacos
- 准备工作
- 下载与安装
- 初始化配置
- 访问方式(2种)
-
nacos的bin目录去通过指令启动
-
idea中直接启动
-
- 服务注册与调用入门(重点)
-
创建服务提供者工程(module名为sca-provider,假如已有则无需创建),继承parent工程(01-sca),其pom.xml文件内容如下:
-
创建并修改配置文件application.yml(或者application.properties),实现服务注册,关键代码如下:
-
创建启动类(假如已有则无需定义),关键代码如下:
-
- 消费者服务发现及调用
- 服务负载均衡设计及实现(重点)
-
LoadBalancerClient应用
-
@LoadBalanced应用
-
Ribbon负载均衡策略(了解)
-
- 基于Feign的远程服务调用(重点)
-
Feign应用实践(掌握)
-
在服务消费方,添加项目依赖(SpringCloud团队基于OpenFeign研发了starter),代码如下:
-
在启动类上添加@EnableFeignClients注解,代码如下:
-
定义Http请求API,基于此API借助OpenFeign访问远端服务,代码如下:
-
创建FeignConsumerController中并添加feign访问,代码如下:
-
启动消费者服务,在浏览器中直接通过feign客户端进行访问,如图所示(反复刷新检测其响应结果):
-
-
Feign配置进阶实践
-
Feign 调用过程分析(了解)
-
- 配置中心
-
Nacos配置测试案例
-
业务描述
-
在sca-provider项目中添加一个Controller对象,例如ProviderLogController,基于此Controller中的方法演示日志级别的配置。
-
-
配置准备工作
-
创建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 -
在已有的sca-provider项目中添加如配置依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config -
将项目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
-
-
新建Nacos配置
-
测试Nacos数据读取
-
@RefreshScope注解的应用
-
在ProviderLogController类的上面添加一个@RefreshScope注解
@RefreshScope @RestController public class ProviderLogController{ //..... }其中,@RefreshScope的作用是在配置中心的相关配置发生变化以后,能够及时看到类中属性值的更新(底层是通过重新创建Controller对象的方式,对属性进行了重新初始化)。
-
添加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; } -
启动sca-provider服务,然后打开浏览器并输入http://localhost:8081/provider/log/doLog02进行访问测试。
-
-
-
Nacos配置管理模型
-
概述
-
测试案例
-
命名空间设计
-
分组设计及实现
-
共享配置设计及读取
-
-
-



