当前位置: 首页 > news >正文

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

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

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

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

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

 @Configurationpublic class CorsConfig implements WebMvcConfigurer {​@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")//是否发送Cookie.allowCredentials(true)//放行哪些原始域.allowedOrigins("*").allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}).allowedHeaders("*").exposedHeaders("*");}}

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

 spring:cloud:gateway:globalcors:cors-configurations:'[/**]': # 匹配所有请求allowedOrigins: "*" #跨域处理 允许所有的域allowedMethods: # 支持的方法- GET- POST- PUT- 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.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大

相关文章:

  • 模拟原神圣遗物系统-小森设计项目,设计圣遗物(生之花,死之羽,时之沙,空之杯,理之冠)抽象类
  • 【软件测试】软件测试入门
  • AOSP开发环境搭建
  • 志愿服务管理系统的设计
  • 【全网最全最详细】RabbitMQ面试题
  • 【Go】用 DBeaver、db browser 和 SqlCipher 读取 SqlCipher 数据库
  • Java基础16(集合框架 List ArrayList容器类 ArrayList底层源码解析及扩容机制)
  • C++ unique_ptr
  • ESP8266发送WOL幻数据包实现电脑远程唤醒
  • <router-view />标签的理解
  • mysql预置的数据库
  • 微服务迁移、重构最佳经验
  • Effective C++ 改善程序与设计的55个具体做法笔记与心得 4
  • 【笔记】复制Edge的网址粘贴后自动变成中文标题超链接
  • ChatGPT中文镜像网站分享
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • CentOS6 编译安装 redis-3.2.3
  • Django 博客开发教程 8 - 博客文章详情页
  • input的行数自动增减
  • IOS评论框不贴底(ios12新bug)
  • Phpstorm怎样批量删除空行?
  • php面试题 汇集2
  • Shadow DOM 内部构造及如何构建独立组件
  • Spring核心 Bean的高级装配
  • SQLServer之创建显式事务
  • 测试开发系类之接口自动化测试
  • 分布式事物理论与实践
  • 关于for循环的简单归纳
  • 利用DataURL技术在网页上显示图片
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #pragma once
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (六)Flink 窗口计算
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (三十)Flask之wtforms库【剖析源码上篇】
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net mvc 获取url中controller和action
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET和.COM和.CN域名区别
  • .net连接MySQL的方法
  • .net下的富文本编辑器FCKeditor的配置方法
  • @Async注解的坑,小心
  • [ linux ] linux 命令英文全称及解释
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [20160807][系统设计的三次迭代]
  • [2024-06]-[大模型]-[Ollama]- WebUI
  • [CISCN2019 华东南赛区]Web111