openFeign整合ribbon实现负载均衡

通过 上篇文章 了解了 OpenFeign 生成动态代理的整个过程,并且知道了它是基于 JDK 动态代理来实现的。这篇文章主要来看看 OpenFeign 是如何基于 ribbon 实现负载均衡的,还会了解到 ribbon
的一些主要对象及运行原理,最后还有一个自定义 ribbon 负载均衡规则的代码案例

阅读更多

OpenFeign的实现原理

前言

在过去使用feign时,会将feign接口单独放在一个包,并在接口类上声明 @FeignClient(name = 服务名), 在接口方法上声明 @xxxMapping(接口路径) ,实现者和使用者都会去引入这个包。对于 使用者 来说只需要注入接口类,然后调用对应的方法就能调用到在另一个服务的实现者实现的逻辑

阅读更多

设计模式之组合模式

组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。 这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类

阅读更多

Spring Cloud Gateway路由的管理

路由的构建步骤

gateway支持多种配置路由的方式,如通过 properties 文件配置、通过接口添加、从注册中心获取等等。不管是在yml文件配置的 routes 节点,还是通过 DiscoveryClient 加载的注册中心的服务,亦或是通过 /gateway/routes/{id} 接口增加的,在网关中都会生成对应一个个 RouteDefinition ,再通过
RouteDefinition 生成对应的 route

阅读更多

设计模式在工作中的应用

策略模式

在公司内部的供应链物流系统中,会与第三方物流承运商的系统进行对接。为了减少对对方系统的依赖,交互设计成“通知-反查”的形式,即当物流订单 “状态” 发生变更时,通过统一接口通知到我们系统,这边再根据不同的通知去做相应的处理。
比如:订单确认、拒绝、完成,车辆启运,位置更新等等的通知

阅读更多