配置中心简介
背景分析
在平时除了写代码外,我们还需要配置很多的配置信息,这些配置信息呢一般都是写在包里面,但是这样的话配置信息和包就有了耦合,在后期我们需要去维护可变的配置信息的话会非常麻烦。假如系统正在运行,我们修改参数后需要重启服务器,就会导致短暂的服务停止,影响用户体验,甚至会造成用户流失。在这样的背景下,配置中心诞生了。
概述?
?配置中心最基础的功能就是存储一个键值对,用户发布一个配置(configKey),然后客户端获取这个配置项(configValue);进阶的功能就是当某个配置项发生变更时,不停机就可以动态刷新服务内部的配置项。
Nacos配置入门案例
业务描述
在sca-provider项目中添加一个Controller对象,例如ProviderLogController,基于此Controller中的方法演示日志级别的配置。
准备工作
1.创建ProviderLogController对象
package com.jt.controller;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
//@Slf4j
@RestController
public class ProviderLogController {
//创建一个日志对象
private static Logger log =
LoggerFactory.getLogger(ProviderLogController.class);
@GetMapping("/provider/log")
public String getLog(){
log.trace("--trace--");
log.debug("--debug--");
log.info("--info--");
log.warn("--warn--");
log.error("--error--");
return "log config test";
}
}
2.在provider的pom文件中添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3.修改yml文件名字为bootstrap.yml并添加配置信息
server:
port: 8082
spring:
application:
name: sca-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yml
新建Nacos配置
1.启动Nacos? 命令:startup.cmd -m standalone ,打开Nacos配置中心,新建配置:
2.后端运行服务器,浏览器访问自己设置的路径?,例如:http://localhost:8082/provider/log,查看后端控制台输出的日志:
DEBUG 6184 --- [nio-8082-exec-1] com.jt.controller.ProviderLogController : --debug--
INFO 6184 --- [nio-8082-exec-1] com.jt.controller.ProviderLogController : --info--
WARN 6184 --- [nio-8082-exec-1] com.jt.controller.ProviderLogController : --warn--
ERROR 6184 --- [nio-8082-exec-1] com.jt.controller.ProviderLogController : --error--
暂时先写到这里!!!
|