• Spring Boot 中如何解决跨域问题、Spring Cloud 5大组件、微服务的优缺点是什么?


    Spring Boot 中如何解决跨域问题 ?

    SpringMVC项目中使用@CrossOrigin注解来解决跨域问题 , 本质是CORS

    1.  @RequestMapping("/hello")
    2.  @CrossOrigin(origins = "*")
    3.  //@CrossOrigin(value = "http://localhost:8081") //指定具体ip允许跨域
    4.  public String hello() {
    5.      return "hello world";
    6.  }

    SpringBoot项目采用自动配置的方式来配置CORS , 可以通过实现 WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题。

    1.  @Configuration
    2.  public class CorsConfig implements WebMvcConfigurer {
    3.  ​
    4.      @Override
    5.      public void addCorsMappings(CorsRegistry registry) {
    6.          registry.addMapping("/**")
    7.                  //是否发送Cookie
    8.                 .allowCredentials(true)
    9.                  //放行哪些原始域
    10.                 .allowedOrigins("*")
    11.                 .allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"})
    12.                 .allowedHeaders("*")
    13.                 .exposedHeaders("*");
    14.     }
    15.  }

    在SpringCloud项目中一般都会有网关 , 在网关中可以配置CORS跨域, 这样所有通过网关的请求都解决了跨域问题

    1.  spring:
    2.   cloud:
    3.     gateway:
    4.       globalcors:
    5.         cors-configurations:
    6.           '[/**]': # 匹配所有请求
    7.             allowedOrigins: "*" #跨域处理 允许所有的域
    8.             allowedMethods: # 支持的方法
    9.               - GET
    10.               - POST
    11.               - PUT
    12.               - DELETE

    09- 你们项目中使用的SpringBoot是哪个版本 ?

    • SpringBoot : 2.3.4.RELEASE

    • SpringCloud : Hoxton.SR10

    • SpringCloudAlibaba : 2.2.5.RELEASE

    10- Spring Cloud 5大组件有哪些?

    早期我们一般认为的Spring Cloud五大组件是

    • Eureka : 注册中心

    • Ribbon : 负载均衡

    • Feign : 远程调用

    • Hystrix : 服务熔断

    • Zuul/Gateway : 网关

    随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件

    • 注册中心/配置中心 Nacos

    • 负载均衡 Ribbon

    • 服务调用 Feign

    • 服务保护 sentinel

    • 服务网关 Gateway

    11- 什么是微服务?微服务的优缺点是什么?

    微服务就是一个独立的职责单一的服务应用程序,一个模块

    1.优点:松耦合,聚焦单一业务功能,无关开发语言,团队规模降低 , 扩展性好, 天然支持分库 2.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大

  • 相关阅读:
    数据分析学习路径(1.0版)
    以太坊扩容方案zkSync 2.0公共测试网正式上线
    <二>自己实现简单的string
    读取SolidWorks文档中的属性,生成PDF(工具开发)
    揭秘计算机内部通信:探秘数据、地址与控制信号的奥秘
    用实践案例告诉你,什么样的人能够在网络上赚钱
    java计算机毕业设计网上书城网站源代码+数据库+系统+lw文档
    『ChatGPT is bullshit』
    C语言常用内存函数(超详细版)
    Java进程与线程
  • 原文地址:https://blog.csdn.net/2302_79020600/article/details/139658639