微服务系列之 初识Sentinel

开始之前,先了解一下什么叫做雪崩问题1.1.雪崩问题及解决方案1.1.1.雪崩问题微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。但是,依赖服务I

微服务系列之 发布订阅-TopicExchange

概述TopicExchange与DirectExchange类似,区别在于routingKey必须是多个单词的列表,并且以 · 分割。Queue与Exchange指定BindingKey时可以使用通配符:#:代指0个或多个单词*:代指一个单词利用SpringAMQP演示TopicExchange

微服务系列之 发布订阅-Direct Exchange

概述Direct Exchange 会将接收到的消息根据规则路由到指定的Queue,因此称为路由模式(routes)。每一个Queue都与Exchange设置一个BindingKey发布者发送消息时,指定消息的RoutingKeyExchange将消息路由到BindingKey与消息RoutingK

微服务系列之 发布订阅-Fanout Exchange

概述Fanout Exchange 会将接收到的消息广播到每一个跟其绑定的queue生产者将消息发送到交换机,由交换机再去发给绑定该交换机的所有队列,每个队列接受到的消息都是一样的,再有消费者去消费,注意,此处的交换机exchange并不存储消息,存储消息的是队列queue。SpringAMQP提供

微服务系列之 统一网关Gateway--限流过滤器,限流算法简介


概述限流:对应用服务器的请求做限制,避免因过多请求而导致服务器过载甚至宕机。限流算法常见的包括两种:计数器算法,又包括窗口计数器算法、滑动窗口计数器算法漏桶算法(Leaky Bucket)令牌桶算法(Token Bucket)计数器算法固定窗口计数器算法概念如下:将时间划分为多个窗口;在每个窗口内每

微服务系列之 统一网关Gateway--跨域问题处理


概述跨域:域名不一致就是跨域,主要包括:域名不同: www.taobao.com 和 www.taobao.org 和 www.jd.com 和 miaosha.jd.com域名相同,端口不同:localhost:8080和localhost8081跨域问题:浏览器禁止请求的发起者与服务端发生跨域a

微服务系列之 统一网关Gateway--过滤器的执行顺序


请求进入网关会碰到三类过滤器:当前路由的过滤器、DefaultFilter、GlobalFilter请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器.概述每一个过滤器都必须指定一个int类型的order值,o

微服务系列之 统一网关Gateway--全局过滤器GlobalFilter


概述全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与GatewayFilter的作用一样。区别在于GatewayFilter通过配置定义,处理逻辑是固定的。而GlobalFilter的逻辑需要自己写代码实现。定义方式是实现GlobalFilter接口。@Component@Order()/

微服务系列之 统一网关Gateway--路由过滤器GatewayFilter


概述GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理spring官方文档Spring提供了31种不同的路由过滤器工厂。例如:案例给所有进入userservice的请求添加一个请求头:gateway=gateway is awesome!实现方式:在ga

微服务系列之 统一网关Gateway--路由断言工厂


概述路由断言工厂Route Predicate Factory spring 的官方文档网关路由可以配置的内容包括:路由id:路由唯一标示uri:路由目的地,支持lb和http两种predicates:路由断言,判断请求是否符合要求,符合则转发到路由目的地filters:路由过滤器,处理请求或响