springboot和springcloud 的关系:

pring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

springCloud用了什么组件:
nacos做的注册中心和配置中心
getway做的网关
OpenFeign做的服务调用

openFeign和feign的区别:

Ribbon是基于http和tcp的负载均衡组件,Ribbon可以用来做客户端负载均衡,调用注册中心的服务
Feign内置了Ribbon,用来做负载均衡,去调用服务注册中心的服务,Feign不支持spring mvc注册
OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。
OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,
并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

如何在OpenFeign中动态添加headers 属性?

因为OpenFeign是支持springmvc注解的

  1. 在RequestMapping 注解里添加headers 属性 ```java @PostMapping(value = “/book/api”, headers = {“Content-Type=application/json;charset=UTF-8”, “App-Secret=${app.secret}”}) void saveBook(@RequestBody BookDto condition);
  1. 2. 可以在方法参数前面添加@RequestHeader注解
  2. ```java
  3. @GetMapping(value = "/getStuDetail")
  4. public StudentVo getStudentDetail(@RequestBody StudentDto condition, @RequestHeader("Authorization") String token);

image.png

Ribbon 的负载策略默认是轮询, 但是想要修改怎么办?

在消费端注册 Bean
image.png
这样我们就可以通过在Nacos的页面上进行权重的设置
另外的一些策略就是 随机策略 轮询策略 请求数量最少策略

nginx和Ribbon的区别:

nginx 是服务端进行负载均衡,Ribbon是从eureka注册中心中拉取服务列表,然后缓存到本地,在本地进行负载均衡,通过rpc远程调用进行调用,在客户端进行负载均衡

如何对sql语句中的字段进行加密入库,然后查询的时候变为原始内容:

基于Base64 的 AES加密算法
继承BaseTypeHandler https://blog.csdn.net/weixin_43430525/article/details/85783053?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control

为什么有选用nacos不选用Eureka做注册中心?

  1. 首先Nacos具备了服务注册和配置中心的功能,这样极大的简化了组件维护的成本,而且eureka停更了。 nacos使用上比较广泛
  2. nacos 支持自己构建健康检查器,不需要客户端实时向服务端发送 http心跳 可以采用 tcp
  3. nacos的客户端的注册使用监听模式, push/pull 拉取更新信息

Nacos做配置中心的时候,加载多个配置文件怎么处理?

有两种方式:

  1. 使用@NacosPropertySource可以注入一个配置文件,如果需要将配置信息分类,一个项目中使用多个nacos的配置文件,我们就可以使用

@NacosPropertySource 注解即可
image.png

  1. 可以使用data-id 来指定多个配置 文件

image.png

配置修改了之后如何监听到?

image.png