基于Redis的幂等实现方案 Demo


接口请求幂等唯一性 web项目暴露接口在前端页面的时候,在前端页面进行使用的时候,无可避免的会出现重复请求 / 恶意请求消耗服务器资源的情况。毕竟你没办法保证网络上的每个人都像个人。 除了需要保证接口请求的幂等性以外,我们还要需要对某些特殊的接口做一定的限制,这些限制的使用场景如下:特别是现在的服务

常见的设计模式


概述 本笔记主要记载笔者自身比较常见的设计模式。如果要查其他的请自行跳转搜索引擎。 该笔记目前包含以下设计模式的介绍: 创建型的:单例、原型、工厂(简单工厂、工厂方法、抽象工厂) 结构性的:代理、外观 行为型的:责任链、迭代器、模板、策略 创建型模式 单例模式 单例模式的核心是保证在程序之中唯一的创

枚举类


概述 枚举类就是Java之中一种特殊的类,它具有固定的实例数量,在编译阶段就已经固定,而无法在运行阶段改变的类,并且枚举类往往会只具有一些固定的取值,所以往往很适合充当状态码类型的类。然而因为枚举类的特殊性,所以枚举类除了以上的描述以外还在单例模式的创建下有着重要的作用(最好的单例模式实现方法) 解

指令重排


指令重排 概述 简单的来说就是,出于硬件执行效率方面的考虑,为了进一步提升软件的执行效率,使其更快的将我们的程序执行完毕,除了我们自身代码的编写以外,在执行之前还会将我们程序之中的执行重新打散,将不需要注意数据依赖之间的代码的执行顺序重新打乱(以结果最快的方式来执行),而也因此会导致我们的程序执行和

微服务基本概念


微服务基本概念 CAP理论 CAP理论指的是分布式系统下的三个基本特征,一般来说分布式系统最多只能拥有这三个特征之中的唯二两项,并不能同时拥有三个特征,因为往往具有其中两个特征之后就会对其他特征产生互斥的情况 C: Consistency(一致性) A:Availability(可用性) P:Par

Redis


Redis 几种常见的NoSql memcache 最早的NoSql数据库 数据都存储在内存之中,不进行持久化 支持简单的key-value模式 一般是作为缓存数据库辅助持久化的数据库 redis 几乎覆盖了所有Memcache的功能 数据基本都存储在内存之中,并且支持持久化处理,主要用作备份回复

SpringCloud Gateway内置过滤器


SpringCloud Gateway内置过滤器 这里简单将Spring Cloud Gateway内置的所有过滤器工厂整理成了一张表格。如下: 过滤器工厂 作用 参数 AddRequestHeader 为原始请求添加Header Header的名称及值

SpringCloud


SpringCloud 架构的发展 单一式 -> 垂直式 -> 分布式 -> SOA流式 -> 微服务 单一式就是普通的全部功能都在一个项目中的情况 垂直式是缺少相互调用的核心的一种架构设计 分布式架构其实就是将多种不同的服务相互之间拆开,拆开后,负责不同功能的主机,某一个功能可以有多台主机共同负责

Optional的使用


Optional判空 首先需要记住Optional的一些方法 第一批方法:产生Optional对象的方法empty()、of(obj)、ofNullable(obj) empty() 创建一个空的Optional (如果是空) Optional <Object> empty = Optional.e

Nginx


Nginx 正向代理 正向代理,代理客户端,客户端需要配置代理 () 将虚拟机之中的服务代理到外部的过程,叫做正向代理也叫做接口映射,添加接口映射后我们可以将虚拟机之中的服务提供给外部进行调用。这个行为就相当于在客户端和服务器之间添加一个服务,帮助客户端 / 服务器端跨过某些两者之间无法访问的东西实