springboot如何整合gateway实现网关功能
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章主要讲解了"springboot如何整合gateway实现网关功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"springboot如何整合g
千家信息网最后更新 2024年12月13日springboot如何整合gateway实现网关功能
这篇文章主要讲解了"springboot如何整合gateway实现网关功能",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"springboot如何整合gateway实现网关功能"吧!
1.使用场景:
网关可提供请求路由与组合、协议转换、安全认证、服务鉴权、流量控制与日志监控等服务。可选的网关有不少,比如 Nginx、、Linkerd 、eureka、 Spring Cloud Gateway、consul等。
Spring Cloud Gateway 针对进来的请求做各种判断和处理,比如说判断请求的合法性、权限验证,请求地址改写,请求参数、头信息、cookie 信息的分析和改写,请求速率控制,日志留存等。而这些都可以方便的通过 Predicate 和 GatewayFilter 来组合实现。
2.代码实现
1创建gateway-service服务
引入依赖
org.springframework.cloud spring-cloud-starter-gateway 3.0.4 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-openfeign 3.0.2 org.springframework.cloud spring-cloud-loadbalancer 3.0.2 org.springframework.cloud spring-cloud-starter-loadbalancer
yml配置
server: port: 8001spring: application: name: gateway-service #服务名 profiles: active: dev #环境设置 cloud: gateway: routes: # 透传服务 - id: gateway-client #设置路由id(理论上是可以随便写的) uri: lb://gateway-client #设置路由的url lb://nacos服务注册名称 predicates: - Path=/client/** #路径匹配规则 filters: - StripPrefix=1 - id: gateway-consumer uri: lb://gateway-consumer predicates: - Path=/consumer/** filters: - StripPrefix=1
跨域配置
@Configurationpublic class CorsConfig { @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedMethod("*"); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**", config); return new CorsWebFilter(source); }}
2创建gateway-client服务
引入依赖
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.1.RELEASE org.springframework.cloud spring-cloud-starter-openfeign org.springframework.boot spring-boot-starter-web
yml配置
server: port: 8002spring: application: name: gateway-client #服务名 profiles: active: dev #环境设置 cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #nacos服务注册
控制层请求
@RestControllerpublic class TestController { @RequestMapping("/index") public String index(){ return "gateway-client"; }}
启动类
@SpringBootApplication@EnableDiscoveryClientpublic class GatewayClientApplication { public static void main(String[] args) { SpringApplication.run(GatewayClientApplication.class, args); }}
3.实现效果
采用nacos作为注册中心,启动nacos后再启动gateway-service, gateway-client项目
在nacos发现服务注册成功
在浏览器发起请求
http://localhost:8001/client/index
实际上网关把请求发送到gateway-client服务,返回结果
感谢各位的阅读,以上就是"springboot如何整合gateway实现网关功能"的内容了,经过本文的学习后,相信大家对springboot如何整合gateway实现网关功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
服务
网关
功能
整合
路由
学习
控制
配置
信息
内容
日志
环境
组合
验证
合法
成功
代码
参数
合法性
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
刀片服务器如何配置网络交换器
河北乐云网络技术有限公司
西甲数据库好不好
同上一堂网络安全课安全知识题
网络安全装置密码咋查
常用数据库英文
主题班会心得体会网络安全
软件开发如何做到专业
中国大型服务器芯片
达梦数据库怎么建库
网络安全和信息化培训课件
软件开发中的职务有什么
甘孜网络技术操作
黄页网址大全服务器
联想服务器主板c623芯片
图片存入pl数据库
网络安全有多少个国家
扒车服务器教程
广州网络技术学校招生
高中生学网络技术
辽事通注册不了服务器
常用的数据库备份方式
电子书网络安全通信协议
河南嵌入式软件开发
数据库同步到数据仓库
服务器定时自动重启
网络安全日益精进
保障网络安全要提升三个意识
互联网科技企业注册
捷顺公司数据库删除如何恢复