微服务系列之 Work Queue 工作队列

概述Work queue,工作队列,可以提高消息处理速度,避免队列消息堆积模拟WorkQueue,实现一个队列绑定多个消费者基本思路如下:在publisher服务中定义测试方法,每秒产生50条消息,发送到simple.queue在consumer服务中定义两个消息监听者,都监听simple.queu

微服务系列之 SpringAMQP实现消息的发送与接受(生产与消费)

什么是AMQPSpringAMQP实现消息的发送#####依赖 <!--AMQP依赖,包含RabbitMQ--> <dependency> <groupId>org.springframework.boot<

微服务系列之 统一网关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:路由过滤器,处理请求或响

微服务系列之 初识统一网关Gateway


概述网关功能:身份认证和权限校验服务路由、负载均衡请求限流在SpringCloud中网关的实现包括两种:gatewayzuulZuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

微服务系列之 Feign的最佳实践


概述方式一(继承):给消费者的FeignClient和提供者的controller定义统一的父接口作为标准。服务紧耦合父接口参数列表中的映射不会被继承方式二(抽取):将FeignClient抽取为独立模块,并且把接口有关的POJO、默认的Feign配置都放到这个模块中,提供给所有消费者使用。实践实现