gateway重构 背景 当前需要把统一鉴权的业务流程提取到网关,做统一的认证,这样各个服务不在使用spring mvc在拦截器中进行处理。虽然以往的项目中基于servlet提取了公共的组件,但每次升级,各个服务都需要升级jar包,而且鉴权类的工作细化到具体服务确实不恰当。 服务流程设计 首先一个请 Read More
java方法重写与重载 从jvm层面来说,重载是一种静态指派方式,那么它在编译期就已经确定了,比如一个类中相同的方法名称根据不同的参数类型和参数个数进行重载; 而重写是一种动态链接行为,是需要java在运行期才能知道,需要指向的是哪个子类的哪个方法去执行。 编译期能够静态指派方法有:1 构造方法,2 Read More
public class Test { public void set(int i) { try { InputStream inputStream = new FileInputStream("abnc.txt"); ServerSocket socketAddress = new ServerS Read More
翻看了gateway中的控制RouteDefinition的累如下: public class InMemoryRouteDefinitionRepository implements RouteDefinitionRepository { private final Map<String, Rou Read More
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)@Condi Read More
List<Integer> l1 = new ArrayList() { { add(1); add(2); add(3); } }; List<Integer> l2 = new ArrayList() { { add(10); add(20); add(30); } }; Mono<List<I Read More
动态规划,典型最大礼物数 public static void main1() { int num[][] = new int[][]{ {1, 3, 6, 8, 9}, {1, 6, 1, 3, 0}, {2, 6, 5, 4, 1}, }; int rows = num.length; int Read More
public class ResponseBodyModifyGlobalFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayF Read More
一、 网关种类 流量型网关和业务型网关,也是自己的一个理解,流量型网关可以通常看成是nginx,kong这种更加专注于高性能进行流量分发,业务相对简单,但是对于“复杂”型业务网关,尤其系统实现使用的是java,那么使用openresty这种无疑是加大了研发成本,而且不利于调试和定位问题,毕竟需要通过 Read More
@Component public class RequestBodyAddCacheGlobalFilter implements GlobalFilter, Ordered { @Autowired ApplicationEventPublisher applicationEventPublis Read More