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

【Gateway】服务调用和网关配置攻略

>Gatewat是高性能异步网关,统一路由、限流、鉴权,秒级构建微服务入口!

目录

一、OpenFeign

1.1 入门使用

1.2 最佳实践

二、服务网关

2.1 入门使用

2.2 过滤器

2.3 跨域问题


一、OpenFeign

1.1 入门使用

1️⃣客户端的依赖引入

        <!--feign客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

2️⃣启动类添加@EnableFeignClients启动注解

3️⃣编写客户端调用代码

1.2 最佳实践

默认的http请求是不支持连接池的,所有我们可以配置上连接池

<!--httpClient的依赖 -->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId>
</dependency>

增加下面的配置

feign:client:config:default:logger-level: BASIChttpclient:enabled: truemax-connections: 200max-connections-per-route: 50

观察FeignClientFactoryBean类看连接池是否成功

在实际开发中,我们一般采用抽取open为一个单独的模块,使用方通过引入feign-api模块去调用

二、服务网关

2.1 入门使用

基本的流程图

引入基本的依赖

<!--网关-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--nacos服务发现依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

基本配置和路由规则

spring:application:name: gatewaycloud:nacos:server-addr: 120.27.236.84:8848,124.221.80.228:8848discovery:username: nacospassword: nacosnamespace: devgateway:routes:- id: user-service # 路由标示,必须唯一uri: lb://userservice # 路由的目标地址predicates: # 路由断言,判断请求是否符合规则- Path=/user/** # 路径断言,判断路径是否是以/user开头,如果是则符合- id: order-serviceuri: lb://orderservicepredicates:- Path=/order/**

断言工厂

2.2 过滤器

通过配置文件可以为某个服务或全局增加请求头等内容

自定义过滤器

过滤器之间的优先级:默认 > 路由 > 全局

源码查看

2.3 跨域问题

前置知识:https://www.ruanyifeng.com/blog/2016/04/cors.html

增加下面的配置

spring:cloud:gateway:globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:'[/**]':allowedOrigins: # 允许哪些网站的跨域请求- "*"allowedMethods: # 允许的跨域ajax的请求方式- "GET"- "POST"- "DELETE"- "PUT"- "OPTIONS"allowedHeaders: "*" # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期


http://www.dtcms.com/a/589700.html

相关文章:

  • 万网域名注册后怎么样做网站做网站必须原创吗
  • 青岛企业网站建设wordpress乱码
  • 《Redis应用实例》Java实现(27):定长队列和淘汰队列
  • 做网站服务器怎么用怎样创建行业门户网站
  • net core开发跨平台的桌面应用,如上位机很实用
  • python+playwright:如何解决某个页面不稳定的出现不影响ui自动化执行
  • Redis 使用场景
  • 针对动态连接场景的验证环境搭建思路
  • 网页制作与网站建设答案专业建设汇报ppt
  • 机器学习21:可解释机器学习(Explainable Machine Learning)(上)
  • 深圳开发网站建设哪家好软件仓库
  • 潍坊网站建设团队微信开放平台小程序
  • Vue 项目实战《尚医通》,根据等级和地区获取医院信息,笔记14
  • C语言关键字详解
  • SmartResume简历信息抽取框架深度解析
  • 2.4 使用 PyTorch / TensorFlow 实现文本分类
  • 传统企业网站建设运营分析闵行区个人网页设计用户体验
  • 从随机变量到统计模型(二)
  • AIGC|北京AI优化企业新榜单与选择指南
  • 站长工具怎么用北京建网站 优帮云
  • files-to-prompt 简介
  • 计算机软件开发网站建设取什么名字营销型外贸网站定制
  • 实战:搭建一个简单的股票价格监控和警报系统
  • 在 Unreal VR 项目中用双目立体全景天空盒优化性能与沉浸感
  • 专业网站推广引流电子商务网站建设与实例
  • 个人免费网站申请关键词挖掘查询工具
  • 学习周报二十一
  • 公司网站建设劳伦网店代运营收费
  • 云南 旅游 网站建设山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗
  • 触摸未来2025-11-09:万有力,图论革命