
SpringCloud
文章平均质量分 70
kamjin1996
全栈,主做后端和架构设计,开发过Web网页、PC桌面端、手机APP、小程序,主力语言Kotlin、Java、Python、Typescript,兴趣广泛,欢迎提出合作和问题咨询。
展开
-
SpringCloud Gateway网关统一聚合Swagger接口文档(knife4j),实现通过网关统一文档地址查看所有子服务的接口文档
前言:在微服务系统中,通常每个服务都会暴露其接口文档,在前端人员或测试人员查看的时候,并不是那么方便,我们需要告诉相关人员每个服务的文档地址,由于knif4j官方(更易用的swagger封装,点此了解knif4j)支持以Rest的方式获取所有微服务的文档数据,再配合Gateway的路由,我们可以轻松的通过其相关API做到聚合文档的效果,做到只提供一个文档地址,便可查看所有微服务下的接口文档注意:各微服务的knife4j配置及文档访问,观阅此文前默认认为你已经是完成且可访问的,如未完成或遇到问题,参原创 2022-03-22 14:41:08 · 3363 阅读 · 6 评论 -
SpringCloud Gateway结合Nacos实现微服务动态路由的例子,以及相关问题解决(含代码)
前言:在微服务的解决方案中,Nacos可以实现注册中心,服务发现,配置中心,负载均衡(结合ribbon/openfign)等一系列服务治理的功能,其内置管理页面,使用起来方便灵活且高效。它和SpringCloud的融合参考nacos.io文档:Nacos SpringCloud 快速开始在往常的Gateway使用中,微服务的路由变更往往需要重启,才能再次载入新的路由关系映射SpringCloudGateway作为高性能的微服务网关,其提供了很多FilterFactory供我们做相关扩展,而路由的cru原创 2022-03-07 15:42:05 · 3380 阅读 · 0 评论 -
SpringCloud-Gateway统一处理返回参数,代码请直接复制粘贴
说明:SpringCloud-Gateway是基于webflux框架的(响应式编程WEB框架),就导致不能用正常的springMVC获取httpServletResponse返回值方法来统一获取返回值,所以本文就针对解决此问题注意:1.如果返回不是json的话(一般项目都是JSON),就不要转为json,是什么格式就用什么格式解析2.代码中"//TODO" 标记的地方,即可对返回值进行统一处理,也可以拿到gatewayContext(gatewayContext可以看我这篇博文)3.代码形式如此,原创 2021-12-02 10:21:36 · 6369 阅读 · 2 评论 -
SpringCloud-Gateway获取body参数,解决只能获取一次问题,终极解决方案
这几天有个对SpringCloud-Gateway网关请求参数做安全校验的需求,网上多数教程不适用于SpringBoot2.1+版本。我在SpringCloud gateway Github中的Issues找到了答案,放上连接:作者采纳的答案。 具体代码如下: @Componentpublic class CacheBodyGatewayFilter implements Ordered, Globa...原创 2021-03-19 14:04:46 · 5575 阅读 · 35 评论 -
gateway 返回Body 数据居然出现偶现的乱码问题, 原来是数据被截断背的锅
1、查看问题在开发的时候,发现页面的数据偶先乱码,但有不清楚是那的问题,我们使用swagger-ui参数,发现乱码数据,但概率为1/10,每10次大概查询一次,如下 一会又是正常的 返回数据是json数据,编码 utf8,一切都是正常的,重点是偶现,这就奇葩了 2、定位问题 因为我们是微服务项目使用了 spring-cloud-gateway做为网关,于是使用网关地址和 项目地址分别测试 走网关地址 走具体的项目地址 果然走网关地址的url 会出现乱码,走具体的项目地址的不会出现乱码问题转载 2020-10-27 10:59:15 · 2403 阅读 · 4 评论 -
spring-cloud 分布式日志采集
由于微服务架构中每个服务可能分散在不同的服务器上,因此需要一套分布式日志的解决方案。spring-cloud提供了一个用来trace服务的组件sleuth。它可以通过日志获得服务的依赖关系。基于sleuth,可以通过现有的日志工具实现分布式日志的采集。这里使用的是ELK,也就是elasticsearch、logstash、kibana。一、sleuth第一步:sleut...转载 2020-06-01 11:27:44 · 1018 阅读 · 0 评论 -
SpringCloud之Eureka服务治理中心
引用SpringCloud中文官网的一句话:微服务架构集大成者,云计算最佳实践,搭建分布式、微服务项目的一站式框架Eureka介绍:主要用来实现服务的注册、发现注册中心创建:1.创建第一个Springboot项目,作为注册中心,勾选cloudDescovry的:Eurekaserver2.在启动类上注解:@EnableEurekaServer //标记这是注册中心3.在appl...原创 2018-09-30 09:37:04 · 637 阅读 · 0 评论