SpringCloud-Day02

69 阅读1分钟

Nacos 配置中心

多服务配置优先级

image.png 注意: 官方文档描述file-extension仅支持propertity格式,我在使用的过程中发现可以支持yml格式,但是不支持yaml, 本人配置:nacos: 1.4.1, spring-cloud版本:Hoxton.SR10 具体使用如下:

  • bootstrap.yml配置: image.png
  • 代码读取配置:

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateformat;
    private String envSharedValue;
    private String name;
}

  • nacos配置:
    • 默认的public空间。

image.png

Feign 远程调用

  • 本文中发现将feign-api抽离出单独的模块,order模块与user模块都引用feign-api模块发现,order通过feign--api调用user的时候出现host调用不同的问题,然后切换为简单的feign调用的方式,直接在order模块中调用user发现可以调用成功; 然后在切换为feign-api模式也可以成功。

Gateway: 服务网关

统一网关

image.png

image.png

路由过滤器:default-filters

image.png

  • 可以通过过滤器给请求头、响应体做统一的处理。
  • 具体:给请求头添加信息:
  • 全局过滤器:对所有的请求都生效。 image.png image.png

全局过滤器:GlobalFilter:

  • GlobalFilter的逻辑可以自己写代码去实现 image.png
  • 过滤器的顺序指定:
    • 方法一:@Order注解:值越小过滤器的优先级越大
    • 方法二:实现Orderd接口。 image.png

过滤器的执行顺序:

image.png

网关的跨域问题处理

  • 跨域问题定义:
  • 浏览器禁止请求的发起者与服务端发生跨域的ajax请求image.png
  • 跨域问题解决:

image.png