
SpringCloud
架构攻城之路
敢拒绝,还有梦。
有qian,有闲,有成长;
有你,也有我。
展开
-
【项目实战】Spring Cloud Gateway 实现JWT / Token登录认证流程
在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,此后的所有请求都带着token。网关负责校验token,并将用户信息放入请求Header,以便下游系统可以方便的获取用户信息原创 2020-11-07 17:04:29 · 18940 阅读 · 7 评论 -
Spring Cloud Gateway 扩展支持多版本控制及灰度发布
灰度发布什么是灰度发布,概念请参考,我们来简单的通过下图来看下,通俗的讲: 为了保证服务升级过程的平滑过渡提高客户体验,会一部分用户 一部分用户递进更新,这样生产中会同时出现多个版本的客户端,为了保证多个版本客户端的可用需要对应的多个版本的服务端版本。灰度发布就是通过一定策略保证 多个版本客户端、服务端间能够正确对应。所谓灰度发布,即某个服务存在多个实例时,并且实例版本间的版本并不一致,通过实现方案nginx + lua (openresty)Netflix...转载 2020-11-02 09:18:24 · 2580 阅读 · 0 评论 -
SpringCloud openFeign注入原理解析-手写实现仿Feign
一、Feign的基本使用1.1、编写Feign客户端假设现在我们有一个UserClient,如下:@FeignClient(value = Services.SYSTEM_SERVER)public interface UserClient { /** * 根据用户名,获取用户信息 * @param account * @return */ @RequestMapping(value = "/user/getByAccount", m转载 2020-08-04 09:27:11 · 1991 阅读 · 4 评论 -
为什么微服务一定要有网关?
一、什么是服务网关服务网关 = 路由转发 + 过滤器1、路由转发:接收一切外界请求,转发到后端的微服务上去;2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。二、为什么需要服务网关上述所说的横切功能(以权限校验为例)可以写在三个位置:每个服务自己实现一遍 写到一个公共的服务中...转载 2019-12-17 12:00:40 · 426 阅读 · 0 评论 -
我只是下了个订单,鬼知道我在微服务里经历了什么
题目:用户在电商网站中购买成功了,那么它在微服务中经历了什么?当我傻啊,用户在电商网站购买成功,还在微服务中,那肯定就是有一套微服务架构的电商系统。设计一套电商系统还不简单简单想象一下,既然是一个电商系统,有用户去购买,就肯定得有一个用户模块,购买什么东西总不是西北风吧,购买肯定是商品吧,省掉购物车,就得有商品模块吧,商品总得有库存吧,库存就暂时跟商品放一起吧,什么仓储物流先别管,...转载 2019-08-16 17:44:36 · 430 阅读 · 0 评论