• 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.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大

  • 相关阅读:
    一次痛苦的经历 - 带状疱疹诊疗与康复记录
    2022年12月编程语言排行榜,数据来了!
    C语言每日亿题(二)
    叮咚!请互联网人签收这份工作技能攻略
    VirtualLab基础实验教程-8.傅里叶变换(1)
    10年经验测试经理跳槽,5面成功拿下大厂 P7 Offer,真是麻雀啄了牛屁股,雀氏牛皮呀
    韩国机器人公司Rainbow Robotics推出RB-Y1轮式双臂机器人
    el-ement ui走马灯去除默认的切换显示
    Kotlin函数作为参数指向不同逻辑
    【Python】使用Shell通配符来匹配字符串
  • 原文地址:https://blog.csdn.net/2302_79020600/article/details/139658639