• 如何做一个防重设计

    前言在业务设计中防重设计是一个关键点,以接口设计为例,防重就是防止接口被多次调用而产生脏数据,比如支付订单出现重复支付,所以说防重至关重要,在如何防重之前我们首先看一下是如何出现重复请求的。何时出现多次调用多次调用接口的出现有主观原因比如:人为的重复请求攻击,用户的误操作等;也有客观原因比如:为了健壮性进行超时重试;重复请求攻击对于这种恶意攻击,其实已经属于安全范畴了,我们可以...

    Java 2020年12月11日 1332 0
  • 微服务技术方案:Spring Cloud 从入门到实战

    随着互联网技术的发展与不断创新,以及用户流量的不断增大,越来越多的企业项目面临大数据、高并发等问题,随之而来的就是通过分布式模型组建架构,微服务思想就集中体现了应用价值,2020 年的你还没有掌握微服务技术吗?本课程会讲解 Spring Cloud 的重要知识点同时也会跟随源码,与框架设计者共同探索其设计奥妙所在,做到知其然更知其所以然!实验介绍Spring Cloud 是一系...

    SpringCloud 2020年12月11日 2137 0
  • 从 0 学习 Spring 缓存数据

    前言昨天在开发业务时,打算加入缓存层来提高系统响应速度。查找了一些资料,发现 Spring 的缓存功能十分强大!只需要添加少量的代码,就可以轻松缓存方法所返回的对象。这篇文章通过描述一个实际使用例子,介绍 Spring Cache 的使用限制以及注意事项。环境准备Redis 5+JDK 1.8+Gradle 6+一款你喜爱的 IDE实践过程添加依赖打开 build.gradle...

    Java 2020年12月11日 1347 0
  • 如何在项目中优雅的校验参数

    前言验证数据是贯穿所有应用程序层(从表示层到持久层)的常见任务。通常在每一层实现相同的验证逻辑,这既费时又容易出错。为了避免重复这些验证,开发人员经常将验证逻辑直接捆绑到域模型中,将域类与验证代码混在一起,这些验证代码实际上是关于类本身的元数据,与业务逻辑不相关。JSR 380——Bean Validation2.0——定义了用于实体和方法验证的元数据模型和API,将数据校验逻...

    Java 2020年12月11日 1504 0
  • Redis缓存机制与应用

    Redis是目前最为主流的缓存技术之一,Redis基于内存操作从而拥有强大的性能,可以达到每秒10万次的请求,可以说是一款非常强大的缓存技术了。本文分为三部分:基础知识介绍常用技术讲解与缓存机制使用场景、缓存问题基础知识介绍NoSQL概述什么是NoSQL?NoSQL = Not Only SQL (不仅仅是SQL)关系型数据库:表格 ,行 ,列 非关系型数据库:没有固定的查询语...

    Redis 2020年12月11日 14555 0
  • Spring Cloud系列Gateway:自定义断言规则

    尽管Spring Cloud Gateway已经包含了很多路由匹配规则,有时候我们需要开发自定义路由匹配规则来满足需求,下面简单的介绍一下如何自定义路由匹配规则。需求转发请求参数中带有token并且token值为123的请求。实现实现有三步步骤,如下所示修改配置文件spring: profiles: customPredicate cloud: gateway:...

    java技术 2020年12月11日 4033 0
  • SpringCloud系列Gateway:路由匹配规则

    环境搭建主要分三个项目Product-service(端口8890):商品服务Order-service(端口8891):订单服务Gateway-server(端口8892):网关核心概念路由(Route):路由是网关最基础的部分,路由信息ID、目标URI、一组断言和一组过滤器组成,如果断言为真,说明请求的URI和配置匹配。断言(Predicate):Spring Cloud ...

    SpringCloud 2020年12月11日 6252 0
  • SpringCloud系列Gateway:过滤器总结

    今天带大家看一下Spring Cloud Gateway的过滤器过滤器分类Spring Cloud Gateway根据作用范围划分为GatewayFilter和GlobalFilter,二者的区别如下GatewayFilter:网关过滤器,需要通过spring.cloud.routes.filters配置在具体的路由下,只作用在当前特定路由上,也可以通过配置spring.clo...

    SpringCloud 2020年12月11日 2772 0
  • 阿里开源的分布式事务框架 Seata

    1. Seata 概述Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来。Seata 是阿里开源的分布式事务框架,属于二阶段提交模式。目前github上已经有 12267 颗星了,也很活跃,最新的提交时间很多都是几天前。首先我们回顾一下在单体应用中,例如一个业务调用了3...

    java技术 2020年12月11日 112254 7