源码分析-SpringCloudGateway源码阅读-网关配置类

一 网关配置类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 网关配置类包含如下这些类: org └── springframework └── cloud └── gateway ├── config │   ├── GatewayAutoConfiguration.java gateway网关的核心配置,路由、全局过滤器、路由过滤器、谓词工厂等 │   ├── GatewayClassPathWarning

源码分析-SpringCloudGateway源码阅读-网关监控端点

一 监控端点说明 监控端点,是为了方便管理和监视运行中的服务,默认情况下,这些监控端点都是未初始化的。 SCG网关需要添加以下配置启用端点: 1 2 management.endpoint.gateway.enabled=true # default value management.endpoints.web.exposure.include=gateway spring cloud gateway网关的监控端点一共涉及到三个类如下 * org.springframework.cloud.gateway.actuate.AbstractGatewayControllerEnd

源码分析-SpringCloudGateway源码阅读准备

一 准备阅读分支 到Github上Fork源码到自己的github(没有github账号先注册一个)。 然后选择一个发布tag,比如我选择v2.2.5.RELEASE的源码,再创建一个分支用于阅读源码和写注释。 二 源码模块结构分析 模块说明 模块模块描述spring-cloud-gateway-core网关核心模块spring-cloud-gateway-dependencies网关依赖spring-cloud-gateway-mvcMVC测试代码spring-cloud-gateway-sample网关使用示例spring-cloud-gateway-webfluxwebfluxsp

服务调用Feign之配置

一 关于Feign配置 此处的Feign配置,也是针对Spring Cloud OpenFeign的一些配置做说明,此处不一定包含所有的Feign配置,更多详细的配置请查看org.springframework.cloud.openfeign.FeignClientProperties、org.springframework.cloud.openfeign.support.FeignHttpClientProperties、org.springframework.cloud.openfeign.encoding.FeignClientEncodingProperties等类属性。 二 以下是

服务调用Feign之SpringCloudOpenFeign

一 如何引入Feign 需要引入依赖group: org.springframework.cloud artifact id: spring-cloud-starter-openfeign 并且使用注解@EnableFeignClients使Feign生效 1 2 3 4 5 6 7 8 9 @SpringBootApplication @EnableFeignClients public class Application { public static void main(String[] args) { SpringApplication.run(App

服务调用Feign之快速上手

一 什么是Feign Feign使我们写Java的HTTP客户端更加容易,我们常说的Feign其实更多的是与SpringCloud结合的Spring Cloud OpenFeign。这里的快速上手,也是结合SpringCloud的示例。 二 写一个provider服务 用SpringBoot快速写一个provider服务,并暴露rest接口,如下: 项目可以到 https://start.spring.io/ 快速生成。 写ProviderController如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 pack

服务调用Dubbo之快速上手

一 概述 Dubbo如今作为apache的开源项目,也是非常活跃,使用的公司也不少。并且apache官网dubbo的中文文档也非常详尽,朋友们如果用了dubbo,建议仔细阅读几遍官网的文档。 二 快速上手 您可以为您的工程引入最新 dubbo-spring-boot-starter 的发布,增加以下依赖到工程的 pom.xml 文件中: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Zuul网关之超时时间配置

一 zuul超时时间配置 如果要为通过Zuul代理的请求配置socket超时和读取超时、连接超时,则根据您的配置,有两种选择: * 如果Zuul使用服务发现,则需要使用ribbon.ReadTimeout(单位毫秒)和ribbon.SocketTimeout(单位毫秒) 、ribbon.ConnectTimeoutRibbon属性配置这些超时。 * 如果通过指定URL配置了Zuul路由,则需要使用zuul.host.connect-timeout-millis和zuul.host.socket-timeout-millis、zuul.host.connectTimeoutMillis。

Zuul网关之自定义过滤器

一 Zuul过滤器了解 首先,我们需要了解Zuul的过滤器分类,之后才能判断我们需要为业务需要定制的过滤器选定对应的类型,Zuul过滤器主要分为以下几类: * pre过滤器: * ServletDetectionFilter:检测请求是否通过Spring Dispatcher。使用FilterConstants.IS_DISPATCHER_SERVLET_REQUEST_KEY的键设置布尔值。 * FormBodyWrapperFilter:解析表单数据并为下游请求重新编码。 * DebugFilter:如果设置了debug请求参数,则将RequestContext.set

Zuul网关之跨域支持

一 Zuul网关如何支持跨域 默认情况下,Zuul将所有跨域请求(CORS)路由到服务。如果您希望Zuul处理这些请求,可以通过提供自定义WebMvcConfigurer bean来完成: 具体如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsReg