引言Hello大家好,这里是Anyin。在我之前的文章中,不知道大家有没有发现我的代码都是放在AnyinCloud这个项目的(欢迎大家点个星星)。这个项目我积累了一些我自己平时在工作当中小工具和最佳实践,随着时间的推进这个项目已经慢慢成为一个我个人搭建项目的脚手架,能够快速搭建起来一个完善的基于SpringCloud技术栈的微服务基础架构。之前在掘金上看到一个权限认证的框架Sa-Token,简单的了解下,发现确实容易上手,而且功能丰富。今天就让我们来把它集成到AnyinCloud项目吧。需求梳理在把Sa-Token集成到我们的项目之前,我们需要先梳理下需求,不能为了集成而集成。AnyinClo
引言Hello大家好,这里是Anyin。在我之前的文章中,不知道大家有没有发现我的代码都是放在AnyinCloud这个项目的(欢迎大家点个星星)。这个项目我积累了一些我自己平时在工作当中小工具和最佳实践,随着时间的推进这个项目已经慢慢成为一个我个人搭建项目的脚手架,能够快速搭建起来一个完善的基于SpringCloud技术栈的微服务基础架构。之前在掘金上看到一个权限认证的框架Sa-Token,简单的了解下,发现确实容易上手,而且功能丰富。今天就让我们来把它集成到AnyinCloud项目吧。需求梳理在把Sa-Token集成到我们的项目之前,我们需要先梳理下需求,不能为了集成而集成。AnyinClo
这是个困扰笔者2天的问题,过程中也查阅大量stackoverflow /google/baidu(大多数解决方案都是内存小了/升级/重装等,这边都 not work),今天终于想通解决了,故在此记录,望给有相同经历的同学提供一种思路。 先来看下具体问题,集群完成后发现kubectlversion报错:net/http:TLShandshaketimeout,追加--v9查看详细日志后发现Client端正常,服务端服务正常响应。[root@***-24-69-3~]#kubectlversion--v9I051109:49:55.0993132329027loader.go:372]Con
这是个困扰笔者2天的问题,过程中也查阅大量stackoverflow /google/baidu(大多数解决方案都是内存小了/升级/重装等,这边都 not work),今天终于想通解决了,故在此记录,望给有相同经历的同学提供一种思路。 先来看下具体问题,集群完成后发现kubectlversion报错:net/http:TLShandshaketimeout,追加--v9查看详细日志后发现Client端正常,服务端服务正常响应。[root@***-24-69-3~]#kubectlversion--v9I051109:49:55.0993132329027loader.go:372]Con
在springCloud的架构中,业务服务都是以微服务来划分的,每个服务可能都有自己的地址和端口。如果前端或者说是客户端直接去调用不同的微服务的话,就要配置不同的地址。其实这是一个解耦和去中心化出现的弊端。所以springCloud体系中,又将这一层的调用封装一层,使一切调用都经过网关,前端和客户端只需要和网关交互,而不需要关注每个微服务的地址,只需要知道微服务的名称就可以。当微服务的地址改变时,只需要修改网关就可以,前端和客户端不需要任何修改,这也方便了服务的扩容和分布式部署。这里的网关就是相当于一个队长的作用。外部的东西一切找队长,团队里自己的事情由队长和成员内部解决。springg
在springCloud的架构中,业务服务都是以微服务来划分的,每个服务可能都有自己的地址和端口。如果前端或者说是客户端直接去调用不同的微服务的话,就要配置不同的地址。其实这是一个解耦和去中心化出现的弊端。所以springCloud体系中,又将这一层的调用封装一层,使一切调用都经过网关,前端和客户端只需要和网关交互,而不需要关注每个微服务的地址,只需要知道微服务的名称就可以。当微服务的地址改变时,只需要修改网关就可以,前端和客户端不需要任何修改,这也方便了服务的扩容和分布式部署。这里的网关就是相当于一个队长的作用。外部的东西一切找队长,团队里自己的事情由队长和成员内部解决。springg
编写的时候使用的SpringCloudGateway版本为Greenwich.SR1。我们在使用SpringCloudGateway的时候,注意到过滤器(包括GatewayFilter、GlobalFilter和过滤器链GatewayFilterChain),都依赖到ServerWebExchange:publicinterfaceGlobalFilter{MonoVoid>filter(ServerWebExchangeexchange,GatewayFilterChainchain);}publicinterfaceGatewayFilterextendsShortcutConfigura
编写的时候使用的SpringCloudGateway版本为Greenwich.SR1。我们在使用SpringCloudGateway的时候,注意到过滤器(包括GatewayFilter、GlobalFilter和过滤器链GatewayFilterChain),都依赖到ServerWebExchange:publicinterfaceGlobalFilter{MonoVoid>filter(ServerWebExchangeexchange,GatewayFilterChainchain);}publicinterfaceGatewayFilterextendsShortcutConfigura
个人简介: >📦个人主页:赵四司机>🏆学习方向:JAVA后端开发 >⏰往期文章:SpringBoot项目整合微信支付>🔔博主推荐网站:牛客网刷题|面试|找工作神器>📣种一棵树最好的时间是十年前,其次是现在!>💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。前言:前面介绍了项目的搭建过程并且实现了部分功能,你会发现无论什么时候都离不开Nginx和Gateway的支持,我们用Nginx实现了反向代理及静态资源映射,在服务器(代码块层面)我们使用了Gateway作为第二层网关实现统一授权、信息认证及路由,那么这时候问题来了,两者都叫网关,它们之间的区别是什么呢?我们能不能只用一个而不用另外一个呢
个人简介: >📦个人主页:赵四司机>🏆学习方向:JAVA后端开发 >⏰往期文章:SpringBoot项目整合微信支付>🔔博主推荐网站:牛客网刷题|面试|找工作神器>📣种一棵树最好的时间是十年前,其次是现在!>💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。前言:前面介绍了项目的搭建过程并且实现了部分功能,你会发现无论什么时候都离不开Nginx和Gateway的支持,我们用Nginx实现了反向代理及静态资源映射,在服务器(代码块层面)我们使用了Gateway作为第二层网关实现统一授权、信息认证及路由,那么这时候问题来了,两者都叫网关,它们之间的区别是什么呢?我们能不能只用一个而不用另外一个呢