Spring Cloud微服务之网关服务创建(十四)完结篇
网关服务
- 1、在parent父工程中创建一个空的Maven项目infrastructure
- 2、在infrastructure模块下创建api_gateway模块
- 3、编写application.properties配置文件
- 4、编写启动类
- 5、网关相关配置
- 1、网关解决跨域问题
- 2、 启动测试
- 3、 随便测试一个服务的功能接口
1、在parent父工程中创建一个空的Maven项目infrastructure
同样删除src全部
2、在infrastructure模块下创建api_gateway模块
注意:路径不能搞错了
注意:修改pom.xml文件
修改后pom.xml
3、编写application.properties配置文件
# 服务端口
server.port=9999
# 服务名
spring.application.name=service-gateway
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848#Gateway 网关配置
#使用服务发现路由
spring.cloud.gateway.discovery.locator.enabled=true#设置路由id (建议服务的名称)
spring.cloud.gateway.routes[0].id=service-file
#设置路由的uri (nacos注册服务名称)
spring.cloud.gateway.routes[0].uri=lb://service-file
#设置路由断言
spring.cloud.gateway.routes[0].predicates= Path=/fileservice/**#配置service-user服务
spring.cloud.gateway.routes[1].id=service-user
spring.cloud.gateway.routes[1].uri=lb://service-user
spring.cloud.gateway.routes[1].predicates= Path=/eduservice/**
4、编写启动类
在java目录下,先创建包com.itydf.gateway
ApiGatewayApplication.java启动类
@SpringBootApplication
public class ApiGatewayApplication {public static void main(String[] args) {SpringApplication.run(ApiGatewayApplication.class, args);}
}
5、网关相关配置
1、网关解决跨域问题
com.itydf.gateway包下面创建config包,再在下面创建CorsConfig跨越配置类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.util.pattern.PathPatternParser;@Configuration
public class CorsConfig {@Beanpublic 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、 启动测试
先启动api_gateway,控制台打印输出,启动网关模块服务成功
再启动另外两个service_file和service_user模块服务,另外查看Nacos我们的三个服务都被注册进来了
3、 随便测试一个服务的功能接口
以service_user的查询全部用户信息接口为列子:
浏览器输入接口地址:http://localhost:9901/eduservice/crm-user/list,能正常访问到。
注意:此时我们把9901端口改为我们配置的网关服务统一接口
浏览器输入接口地址:http://localhost:9999/eduservice/crm-user/list,也能正常访问到。
查看api_gateway服务控制台输出,有这样一段日志输出:
是不是成功了,这样就成功解决了我们的跨越问题,解决了上一篇我们抛出的问题。
Spring Cloud微服务之网关服务创建(十四)完结篇相关推荐
- Spring Cloud Netfilx Zuul : API网关服务
Spring Cloud Zuul 是Spring Cloud Netflix 子项目的核心组件之一,可以作为微服务架构中的API网关使用,支持动态路由与过滤功能,本文将对其用法进行详细介绍. 1.Z ...
- Spring Cloud微服务之Gateway网关(十三)
Gateway网关 一.网关基本概念 1.API网关介绍 2.Spring Cloud Gateway 3.Spring Cloud Gateway核心概念 4.我们在没有网关下,怎么解决客户端直接与 ...
- Spring Cloud 微服务网关Gateway组件
一.网关介绍 大家都知道在微服务架构中,一个系统会被拆分为多个微服务,那么作为客户端如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用. 这样的架构会存 ...
- spring cloud微服务分布式云架构-Gateway入门
Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gatew ...
- Spring Cloud 微服务架构
一.分布式服务框架的发展 1.1 第一代服务框架 代表:Dubbo(Java).Orleans(.Net)等 特点:和语言绑定紧密 1.2 第二代服务框架 代表:Spring Cloud等 现状:适合 ...
- Spring Cloud微服务之Feign——声明式服务间调用
目录 写在前面 服务间调用常见的方案 方案一:HttpClient 方案二:RestTemplate 方案三:Feign 框架版本问题及可能遇到的坑 搭建服务注册中心 搭建服务1--service-a ...
- 《Spring Cloud 微服务架构进阶》读书笔记
前页 随着 DevOps 和以 Docker 为主的容器技术的发展,云原生应用架构和微服 务变得流行起来. 云原生包含的内容很多,如 DevOps.持续交付.微服务.敏捷等 第一章,微服务架构介绍 架 ...
- Spring Cloud 微服务项目操作实战流程(完结)
Spring Cloud入门项目操作实战流程 Day01~02 〇.Service - 业务服务结构 商品服务 item service,端口 8001 用户服务 user service,端口 81 ...
- Spring Boot+Eureka+Spring Cloud微服务快速上手项目实战
说明 我看了一些教程要么写的太入门.要么就是写的太抽象.真正好的文章应该是快速使人受益的而不是浪费时间.本文通过一个包括组织.部门.员工等服务交互的案例让刚接触spring cloud微服务的朋友快速 ...
- Java之 Spring Cloud 微服务的 SpringCloud Config 配置中心(第四个阶段)【二】【SpringBoot项目实现商品服务器端调用】
SpringCloud学习目录点击跳转对应的文章 Java之 Spring Cloud 微服务搭建(第一个阶段)[一][SpringBoot项目实现商品服务器端是调用] Java之 Spring Cl ...
最新文章
- Scrum Master角色可能消失吗?
- 深入浅出详细介绍Java异常,让你茅塞顿开般的感觉
- c语言常用绘图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- UVA 12266 Stock prices --优先队列
- LeetCode Restore IP Addresses(回溯法)
- spring aop搭建(2) :基于代码的实现
- PHP 设计模式之原型模式
- [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画
- 珍惜时间, 珍惜生命
- 一周随笔--15.10.06
- Vmware vSphere 5.0存储的连接
- Friendster,linkedin,orkut,liring对SNS的求索
- Visio 直角连接线增加直角拐弯的方法, 取消自动附着,取消自动捕捉
- win7计算器功能详解
- Java虚拟机——Parallel Scavenge收集器
- Linux设备树特殊节点(aliases、chosen)介绍
- 你不得不知道的这6款可免费试用的JavaScript插件
- matlab-基础 复数 实部、虚部、模、共轭、辐角
- 【渗透笔记】友情检测朋友公司并拿下shell过程
- 滑雪与时间胶囊 题解 BZOJ2753