1.配置中心的作用
Nacos配置中心一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。
2.nacos如何保证高可用
首先可以先搭建多个nacos配置中心,数据从mysql中获取,接着部署一个Nginx,利用Nginx的反向代理加上负载均衡的功能,把请求分发给多个nacos,实现nacos的高可用.
3.nacos如何动态变更配置
- 基于@Value
- 在@Value注入的变量所在类上添加注解@RefreshScope
- 基于@ConfigurationProperties
- 需要自己手写一个配置类`` ```java @Component @Data @ConfigurationProperties(prefix = “pattern”) //前缀是pattern,该注解默认就是热更新 public class PatternProperties { private String dateformat; }
@Autowired private PatternProperties patternProperties;
@GetMapping("now")
public String now(){
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));
}
4.nacos如何实现多环境配置
nacos默认读取两个文件
- 服务名-环境.后缀名
服务名.后缀名 (多环境共享)
优先级
-
5.nginx介绍
反向代理服务器:在服务器端接收客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。
6.feign的介绍及作用?
Feign是一个声明式的http客户端,其作用就是帮助我们优雅的实现http请求的发送,可以避免代码可读性差,编程体验不统一,参数复杂URL难以维护等问题.
7.feign的基本工作原理?
首先通过@EnableFeignCleints注解开启FeignCleint
- 根据Feign的规则实现接口,并加@FeignCleint注解
- 程序启动后,会进行包扫描,扫描所有的@ FeignCleint的注解的类,并将这些信息注入到ioc容器中。
- 当接口的方法被调用,通过jdk的代理,来生成具体的RequesTemplate
- RequesTemplate在生成Request
- Request交给Client去处理,其中Client可以是HttpUrlConnection、HttpClient也可以是Okhttp
最后Client被封装到LoadBalanceClient类,这个类结合类Ribbon做到了负载均衡。
8.feign的性能优化?
使用ApacheHttpClient(支持连接池)代替默认的URLConnection
- 引依赖,加配置
-
9.gateway网关的介绍及作用?
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。
作用
- 请求路由、负载均衡
- 身份认证、权限校验
- 请求限流
10.gateway网关中路由的作用?
路由是构建网关的基本模块, 他由ID,目标URI,一系列的断言和过滤器组成,如果断言为 true 则匹配该路由,以达到请求转发的目的.