自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (20)
  • 收藏
  • 关注

原创 Java知识体系总结【持续更新】

基础篇进阶篇Spring Boot序号内容链接地址1Spring Boot 入门-【 入门介绍 】https://blog.csdn.net/qq_39668819/article/details/1069262902Spring Boot 入门-【 配置文件 】https://blog.csdn.net/qq_39668819/article/details/1069263563Spring Boot 入门-【 日志 】https://blog.csdn

2020-12-05 21:37:24 299

原创 Redis-主从复制、Sentinel、Cluster集群搭建【随笔五】

Redis 集群搭建单机环境搭建安装 redis, 我从 Redis 官网 下载的最新版 redis-6.2.6linux 环境,我用的 centos 7.7# redis 准备$ cd /opt$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz$ tar zxvf credis-6.2.6.tar.gz$ cd redis-6.2.6$ make $ make PREFIX=/usr/local/redis in

2022-05-20 13:41:10 304

原创 Redis-主从复制、Sentinel、Cluster集群【随笔四】

Redis 集群Redis 提供了三种集群策略:主从复制模式:这种模式⽐较简单,主库可以读写,并且会和从库进⾏数据同步,这种模式下,客户端直接连主库或某个从库,但是但主库或从库宕机后,客户端需要⼿动修改 IP,另外,这种模式也⽐较难进⾏扩容,整个集群所能存储的数据受到某台机器的内存容量,所以不可能⽀持特⼤数据量Sentinel(哨兵)模式:这种模式在主从的基础上新增了哨兵节点,但主库节点宕机后,哨兵会发现主库节点宕机,然后在从库中选择⼀个库作为进的主库,另外哨兵也可以做集群,从⽽可以保证但某⼀个哨兵

2022-05-20 13:40:53 540

原创 Redis-持久化、缓存雪崩-穿透-击穿、分布式锁及双写一致性【随笔三】

Redis 持久化持久化就是把内存数据写入磁盘,防止服务宕机造成数据丢失,Redis 提供了不同级别的持久化方式:RDB(Redis DataBase):RDB持久化一指定的时间间隔执行数据集的时间点快照。AOF(Append Only File):AOF持久化记录服务器接收到的每一个写操作,在服务器重启时会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾。Redis还能对AOF文件进行后台重写,使AOF文件的体积不至于过大。无持久性:如果你希望你的数据只

2022-05-20 13:40:31 563

原创 Redis-事务、布隆过滤器及过期策略【随笔二】

管道(pipeline)向服务器发送多个命令,最后一步统一读取回复;这就是管道(pipelining),是一种几十年来广泛使用的技术。例如许多 POP3 协议已经实现支持这个功能,大大加快了从服务器下载新邮件的过程。管道不仅仅是一种减少与往返时间相关的延迟成本的方法,它实际上大大提高了您在给定 Redis 服务器中每秒可以执行的操作数量。这是因为在不使用管道的情况下,从访问数据结构和产生回复的角度来看,为每个命令提供服务非常便宜,但从执行套接字 I/O 的角度来看却非常昂贵。这涉及调用 read() 和

2022-05-20 13:40:08 1261

原创 Redis-简单介绍及基本数据类型【随笔一】

Redis 介绍及 NIO 原理介绍磁盘的寻址速度是 ms 级的,内存的寻址速度是 ns 级的,内存寻址速度比磁盘快了 10w 倍。成本问题:磁盘有磁道和扇区,一个扇区 512Byte,为了降低索引成本;4k 对齐,一般磁盘的默认格式化为 4k,操作系统无论你读多少,最少都是 4k;随着文件变大,访问速度变慢,硬盘 I/O 成为瓶颈;数据库 4k 每页,索引 4k 每页关系型数据库建表:必须给出 schema【类型:字节宽度】,存的时候更倾向于行级存储;内存里面准备了一个 b+ 树,b+ 树的叶子

2022-05-20 13:39:06 255

原创 行为型设计模式---解释器模式

解释器模式模式的定义解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。模式的主要优点:易于改变和扩展文法。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或扩展文法。每一条文法规则都可以表示为一个类,因此可以方便地实现一个简单的语言。实现文法较为容易。在抽象语法树中每一个表达式节点类的实现方式都是相似的,这些类的代码编写都不会特别复杂,还可以通过一些工具自动生成节点类代码。增加新的解

2021-05-03 19:00:02 100

原创 行为型设计模式---备忘录模式

备忘录模式现在市场上很多应用软件都提供了撤回功能,如 IDEA、PS、Eclipse、Notepad++等软件都可以使用 ctrl + n 撤回之前的操作;还比如浏览器的 “后退” 按钮;还比如五子棋、围棋、象棋游戏中的 “悔棋” 操作;还有我们经常玩的那些主机游戏或剧情类游戏都有一个 “存档点” 在游戏角色死亡后,可以读取存档。这些类似的具有备分/恢复操作的场景都是备忘录模式的体现。模式的定义备忘录(Memento)模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这

2021-05-01 22:15:20 155

原创 行为型设计模式---访问者模式

访问者模式在现实生活中,可能存在这样一种情况:商场的推销人员针对男士可能推销剃须刀、皮带、电脑等,针对女士可能推销化妆品、口红等。还比如保险代理人,针对买车的推销车险,针对身体条件不好的推销医疗保险,针对银行推销失窃保险,针对商场推销火灾或洪水保险等。还比如我们在软件开发中,有固定的几种数据展示方式:折线图、散点图、关系图;需要根据不同的参数排序展示,如:日期、销量等等;这些数据元素相对稳定而操作多变的数据结构,使用访问者模式处理将会很方便。访问者模式能把处理方法从数据结构中分离出来,并可以根据需要增加

2021-04-29 00:48:44 148

原创 行为型设计模式---迭代器模式

迭代器模式集合是编程中最常使用的数据类型之一, 尽管如此, 集合只是一组对象的容器而已。大部分集合使用简单列表存储元素。但有些集合还会使用栈、 树、 图和其他复杂的数据结构。无论集合的构成方式如何, 它都必须提供某种访问元素的方式, 便于其他代码使用其中的元素。 集合应提供一种能够遍历元素的方式, 且保证它不会周而复始地访问同一个元素。如果你的集合基于列表, 那么这项工作听上去仿佛很简单。 但如何遍历复杂数据结构 (例如树) 中的元素呢? 例如, 今天你需要使用深度优先算法来遍历树结构, 明天可能会需要广

2021-04-28 00:13:21 159

原创 行为型设计模式---中介者模式

中介者模式在现实生活中,对象与对象之间常常存在着复杂的交互关系,如:公司中员工与员工之间的关系;世界上国家与国家之间的关系;以及草原中动物与动物之间的关系。这种关系一般呈 “网状结构”,每个对象都与多个对象交互,不利于管理,且一旦有修改就会牵连到多个对象,非常复杂。如果我们在这个 “网状结构” 中引入一个管理对象之间的关系的 “中介者”,将 “网状结构” 改为 “星型结构”,将大大降低各个对象之间的耦合度,降低系统的复杂度且方便扩展。如公司的微信群/钉钉群,国际关系中的联合国等等;以下以国际关系为例介绍

2021-04-27 00:27:29 140

原创 行为型设计模式---观察者模式

观察者模式在现实生活中存在如下情况,一个对象的行为发生改变可能会影响多个对象的行为。如以下场景:房价上涨会导致已经买房的人高兴,没有买房的人伤心;房价的下跌则正好相反。商品价格和股市的变动同理。还比如数学题中,圆的半价扩大和缩小,必然会导致直径、周长、面积发生变化。同样,在软件系统中也可能存在类时的需求;如:在显示数据的时候,我们可能会存在多种显示方式,如:树状图、折线图、饼状图、结构图等等;在改变数据模型的同时,需要同时改变多种显示方式;关于这类一个对象行为发生改变会影响多个对象的行为的情况,我们可以采

2021-04-26 00:16:28 204

原创 行为型设计模式---状态模式

状态模式在现实生活中,我们可以会遇到如下情景:ERP系统中,一个批文的状态有:未办、正在办理、正在批示、正在审核、已经完成 等各种状态并且根据各个状态还有对应的行为。还比如,煎牛排根据不同的时间,火候获取到不同的牛排熟度【几成熟】,在比如快递根据不同情况执行不同从处理,如:出库中【商品出库并记录日志】、运输中【检测商品运行状况及运输地址】、已到达【显示代收点并通知客户提取】。这类根据不同情况做出不同行为的对象我们称之为 “有状态对象”,而把影响行为的一个或多个动态变化的属性称之为 “状态”。当有状态的对象

2021-04-24 00:33:43 154

原创 行为型设计模式---责任链模式

责任链模式在现实生活中,经常会遇到一件事情经过多个对象处理的场景。比如公司员工请假可能需要经过多个领导批准,每个领导批准的范围不一样【项目经理2天以内,部门经理处理一周以内的,总经理处理更长时间的】;还比如产品的售后问题,一般客服处理,客服处理不了就交给经理处理,经理处理不了就只能交给总经理处理;还比如去银行的取款,一般小额度的取款可以直接在前台处理,如果取款量很大就有可能需要大堂经理处理,如果量大到大堂经理都处理不了就只能找他的上层领导了。像这种一条链式的,一个事件多个对象处理的就是责任链模式。在 J

2021-04-21 22:00:55 123

原创 行为型设计模式---命令模式

命令模式在现实生活中,我们可以会遇到这种情况:在路边烧烤摊吃烧烤时,人少的时候还好,人多的时候就有可能出现师傅弄错顾客的口味【要辣/不要辣】或 忘记顾客是否已给钱 或者弄错烤串的数量等等一系列问题;而在烧烤店中却少有这种情况,在烧烤店中服务员通常会把顾客的需求记录下来,将记录交给厨师处理,顾客也不必直接和厨师打交道;这种行为模式就是命令模式的体现。还比如看电视时我们可以通过遥控来控制频道切换,音量的调节;通过空调遥控控制空调的温度、风向、模式等等。在软件开发系统中,“方法的请求者” 与 “方法的实现者”

2021-04-19 23:33:19 159

原创 行为型设计模式---策略模式

策略模式在现实生活中,我们可能会遇到以下场景:节假日回家我们可以坐飞机、坐火车、坐大巴、自己开车、拼车等等;超市节假日促销可以采用打折、满300减100、送积分、送商品等等;比如市场上虚拟货币的一些量化工具的交易策略如高频、多元、马尔丁格、等等;还比如游戏的不同模式的玩法等等;关于这类问题,如果使用多重条件判断语句【if…else/switch…case】实现(即硬编码),不但使条件语句变得很复杂,而且增加、删除或更换算法要修改原代码,不易维护,违背开闭原则。如果采用策略模式就能很好解决该问题。模式的定

2021-04-18 00:02:53 139

原创 行为型设计模式---模板方法模式

行为型模式行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。模板方法模式在现实生活中存在这样一类情景:去银行或营业厅办业务一般有如下流程:取号、排队、办理业务、然后对服务进行评价,其

2021-04-17 00:08:30 163

原创 结构型设计模式---组合模式

组合模式在现实生活着,“整体-部分” 的这种关系是很常见的。例如,卖电脑的商家,可以卖单独配件也可以卖组装整机,又如复制文件,可以一个一个文件复制粘贴还可以整个文件夹进行复制,再比如文本编辑,可以给单个字加粗、变色、改字体,当然也可以给整段文字做同样的操作。这些其本质都是同样的问题,对于这些简单对象与复合对象的处理,如果使用组合模式来实现将会很方便。定义与特点组合模式有时又叫 ”整体-部分“ 模式,它是一种将对象组合成树状层次结构的模式,用来表示 “整体-部分” 的关系,使用户对单个对象和组合对象具有

2021-04-15 13:06:35 315

原创 结构型设计模式---享元模式

享元模式在程序设计中,有时我们会面临着要创建大量相同或相似对象实例的问题。如果创建太多的相似对象实例会耗费很多系统资源,将会很影响系统的性能。例如:围棋中的黑白棋子,跳棋中的六色的棋子,内容相似的博客网站,教师里的座子椅子;公司标配的电脑等等。这些对象大都相似,如果把它们相同的部分提取出来共享,则能够节省大量的系统资源【如围棋抽出黑白棋子,跳棋抽出六色棋子,维护到一个公共的缓存对象中。】,这类问题可以通过享元模式来处理。在 Java 语言中,String 类型就是使用了享元模式。String 对象是

2021-04-13 23:20:10 138

原创 结构型设计模式---外观模式

外观模式在现实生活中,常常存在办事较复杂的例子;如去医院看病,需要挂号、门诊、划价、化验、收费、取药等,病人需要与多个部门打交道,这不是一件容易的事。又比如我们办房产证或者注册一个网站等都需要与多个部门联系。软件设计也是这样,随着需求的扩展功能的增多,系统会原来越复杂,设计师处理复杂系统的一个常见方法便是将其“分而治之”,把一个系统划分为几个较小的子系统,随着子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所

2021-04-12 22:06:18 189

原创 结构型设计模式---装饰模式

装饰模式在现实生活中,我们通常遇到过这样的事情:买肠粉的时候,肠粉中可以加鸡蛋、也可以加香菇、猪肉、香肠、虾米等等;汉堡有单层汉堡、双层汉堡、三层汉堡,也可以加培根、生菜等等;煎饼果子可以加鸡蛋、肉松、火腿、培根等等。这些在基础商品上加入一些配料,相应的价格也会增加;这类现象都是装饰模式的体现。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。这些都可以釆用装饰器模式来实现。而在 Java 语言中,装饰模式使用最著名的莫过于

2021-04-10 19:02:03 153

原创 结构型设计模模式---桥接模式

桥接模式在现实生活中,某些事物具有两个或多个纬度的变化。如:手机既可以按品牌分,又可以按尺寸分,还可以按颜色分;文字既可以按字体分,也可以按字号分;图形可以按形状分,也可以按颜色分等等。如果使用继承的方式来描述,m种形状 和 n种颜色的图形就有 m*n 种组合,不但产生的子类繁多,而且扩展困难。而桥接模式则可以很好的解决这些问题。定义与特点桥接模式,将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变纬度的耦合。桥接模式遵循了 组合/聚合复用原则、

2021-04-09 22:30:38 160

原创 结构型设计模模式---适配器模式

适配器模式适配器:在现实生活中,经常出现两个对象因不兼容而不能一起工作的实例,这时就需要第三者进行适配。如我们生活着的:现在部分手机采用的是 type-c 接口,而那种圆形的耳机就不太适合,我们就需要一个适配器来适配;又比如,我们的笔记本电脑使用的是直流电,在接交流电源时就需要一个电源适配器等等。定义与特点将一个类的接口转化成客户端希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现

2021-04-07 23:35:43 149

原创 结构型设计模模式---代理模式

结构型模式结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者采用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度要低,满足 ”合成复用原则“,所以对象结构型模式比类结构型模式具有更大的灵活性。代理模式定义与特点由于某些原因需要给某对象提供一个代理来控制对该对象的访问。这时,访问对象不适合或者不能够直接引用目标对象,代理对象就作为访问对象和目标对象之间的中介。如:现实生活中我们购买火车票不一定要去火车站,还可以

2021-04-07 10:47:50 120

原创 创建型设计模模式---原型模式

原型模式模式的定义与特点原型模式主要用于对象的复制,用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。优点:Java自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份,并将其状态保存起来,简化了创建对象的过程,以便在需要的时候使用(例如恢复到历史某一状态),可辅助实现撤销操作。

2021-04-02 13:15:42 97

原创 创建型设计模模式---建造者模式

建造者模式模式的定义与特点建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。生活中这样的例子很多,如游戏中的不同角色,其性别、个性、能力、脸型、体型、服装、发型等特性都有所差异;还有汽车中的方向盘、发动机、车架、轮胎等部件也多种多样;每封电子邮件的发件人、收件人、主题、内容、

2021-04-02 13:12:00 227

原创 创建型设计模模式---单例模式

单例模式定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web 应用的配置对象、应用程序中的对话框、系统中的缓存等常常被设计

2021-04-02 13:10:26 124

原创 创建型设计模模式---抽象工厂模式

抽象工厂模式模式的定义与特点抽象工厂(AbstractFactory)模式的定义:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。即:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。上面两种模式不管工厂怎么拆分抽象,都只是针对一类产品 Coffee 。在上述的场景上继续延伸:随着咖啡工厂做大做强,引入

2021-04-02 13:08:06 120

原创 设计模式七大原则

设计模式七大原则一、开闭-原则 OCP对扩展开放,对修改封闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要原有的基础上扩展代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。如果一个软件能够满足 OPC 原则,那么它将具有以下两项优点:能够扩展已存在的系统,能够提供新的功能满足新的需求,因此该软件有着很强的适应性和灵活性。已存在的模块,特别是那些重要的抽象模块,不需要被修改,那么该软件就有着很强大的稳定性和持久性。二、单一职责原则 SRP单一职责

2021-04-02 09:07:25 123

原创 创建型设计模模式---工厂模式

设计模式设计模式七大原则一、开闭-原则 OCP对扩展开放,对修改封闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要原有的基础上扩展代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。如果一个软件能够满足 OPC 原则,那么它将具有以下两项优点:能够扩展已存在的系统,能够提供新的功能满足新的需求,因此该软件有着很强的适应性和灵活性。已存在的模块,特别是那些重要的抽象模块,不需要被修改,那么该软件就有着很强大的稳定性和持久性。二、单一职责原则 SRP

2021-04-01 15:44:08 131

原创 并发编程的艺术--Java中的锁(下)【随笔】

读写锁介绍之前提到锁(如 CustomLock 和 ReentrantLock )基本都是独占锁,这些锁在同一时刻只允许一个线程进行访问,而读写锁在同一时刻可以允许多个读线程访问。但是在写线程访问时,所有的读线程和其他写线程均被阻塞。读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比一般的独占锁有了很大提升。除了保证写操作对读操作的可见性以及并发性的提升之外,读写锁能够简化读写交互场景的编程方式。假设在程序中定义一个共享的用作缓存数据结构,它大部分时间提供读服务(例如查询和搜

2021-01-11 11:55:59 150 2

原创 并发编程的艺术--Java中的锁(上)【随笔】

Lock 锁介绍锁是用来控制多个线程访问共享资源的方式,锁能够防止多个线程同时访问共享资源。在 Lock 接口出现之前,java 程序主要是靠 synchronized关键字实现同步功能。Java 1.5 后,推出了 Lock 接口,它拥有与 synchronized 相同的并发性和内存语义,在实现线程安全的控制中。与 synchronized 不同的是 Lock 需要显式的加锁与释放锁,但它比 synchronized 更加灵活,且效率更高。虽然它缺少了(通过synchronized块或者方法所

2021-01-09 11:21:32 183

原创 并发编程入门---JUC - 下【随笔】

JUC - 下ForkJoin 详解ForkJoin 介绍在大数据量的情况下,可以使用 ForkJoin 把任务拆分为小任务,并行执行任务,提高效率;ForkJoin 特点:工作窃取。【ForkJoin 里面维护的都是双端队列】如上图:ForkJoin 拆分出来了两个任务 A 和 B,分别启动一个线程执行;在执行过程中 B 线程已经执行完成全部任务,此时 A 线程才执行到一半,这时 B 线程就会从 A 线程的任务队列中取出未执行的任务执行【队列为双端队列:即可以同时从两边取出元素】,

2021-01-04 17:13:53 166

原创 并发编程入门---JUC - 上【随笔】

JUC - 上基本概念什么是 JUC线程与进程Java 无法开启线程,start() 方法调用本地方法 start0() 开启线程,底层是 C++,java 无法直接操作硬件。public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads created/set

2021-01-04 16:53:52 364

原创 并发编程入门---多线程【随笔】

多线程基本概念Process 与 Thread说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位,通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度执行的单位。进程与线程的区别总结:根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程

2020-12-22 20:23:18 165

原创 Spring Cloud 入门 ---- OAuth2 分布式认证授权【随笔】

OAuth2 分布式认证授权整体流程架构方案图:流程:1、UAA 认证服务负责认证授权。2、所有请求经过网关到达微服务。3、网关负责鉴权客户端以及请求转发。4、网关将 token 解析后传给微服务,微服务进行授权。整个演示项目包含4个模块:注册中心、认证服务、资源服务、网关服务。注册中心我们使用前面创建的 eureka-registry-center 作为注册中心,修改 授权服务 与 资源服务 分别添加注册中心相关配置。具体修改如下:一、引入 pom 依赖。【授权服务与

2020-12-05 21:34:21 507

原创 Spring Cloud 入门 ---- Security 整合 Oauth2 认证授权【随笔】

Spring Cloud Security Oauth2文档参考:https://docs.spring.io/spring-security/site/docs/5.4.1/reference/html5/#introductionOauth2介绍OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth2.0 是 OAuth 协议的延续版本,但是不向前兼容 OAuth 1.0

2020-12-05 18:04:48 2020

原创 Spring Cloud 入门 ---- Security 权限管理【随笔】

Spring Cloud SecuritySpring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是 Spring 生态系统中的一员,因此他伴随着整个 Spring 生态系统不断修正、升级,在 Spring boot 项目中加入 Spring Security 更是十分简单,使用 Spring Security 减少了企业系统安全控制编写大量重复代码的工作。官网:https://spring.io/projects/spring-

2020-12-05 17:50:02 1230

原创 Spring Cloud 入门 ---- Admin 监控中心【随笔】

文章目录Spring Cloud 入门 ---- Admin 监控中心简介是什么能干什么准备工作Admin 监控中心模块Admin 客户端模块修改客户端模块测试监控中心Admin 监控中心添加认证修改监控中心模块Spring Cloud 入门 ---- Admin 监控中心简介是什么Spring Boot Admin 是由 codecentric 组织开发的开源项目,使可以对 Spring Boot 应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用。它分为客户端和服务端两部分,客户端添

2020-11-23 11:04:08 1061

原创 阿里云 OSS 对象存储简单使用【随笔】

Aliyun OSS 对象存储的使用官方文档:https://help.aliyun.com/document_detail/32008.html?spm=a2c4g.11186623.6.916.57fc6d39qyXFck准备工作一、首先开通阿里云 OSS 对象存储,并创建 Bucket 列表二、创建完成后,点击进入 Bucket,在概览中可以看到外网访问地址 与 内网访问地址;若是本地开发测试可以使用外网地址,若是部署到服务器上的生产环境建议使用内网地址;内网地址上传速度远超外网且

2020-11-19 11:20:11 1538

阿里云 iot.zip

阿里云 iot 使用案例 工具包,阿里云 iot 使用案例 工具包,阿里云 iot 使用案例 工具包,

2020-11-19

zipkin-es-kibana.7z

elasticsearch-6.8.4 zipkin-6.8.4 kibana-6.8.4 Windows版安装包

2020-11-16

RabbitMQ.zip

rabbitmq 消息中间件 windows 安装包,包含Erlang 环境,rabbitmq 消息中间件 windows 安装包,包含Erlang 环境

2020-11-14

springcloudalibaba.zip

spring cloud alibaba 演示项目所需软件工具包,包含 nacos、sentinel 、seta;spring cloud alibaba 演示项目所需软件工具包,包含 nacos、sentinel 、seta;

2020-10-22

wor-pdf.zip

word转pdf 所需要的工具包,word转pdf 所需要的工具包,word转pdf 所需要的工具包

2020-09-25

akieay-my-starter-demo.zip

spring boot 自定义 starter demo包

2020-07-02

waterfall flow.zip

基于Masonry的网格瀑布流加载动画特效插件,基于Masonry的网格瀑布流加载动画特效;基于Masonry的网格瀑布流加载动画特效;

2020-05-26

dynamic-form.zip

layui使用数据表格与表单实现动态表单 的demo

2020-05-18

dandelion.zip

HTML5页面飘落蒲公英动画实现依赖的js文件与图片;HTML5页面飘落蒲公英动画实现依赖的js文件与图片;

2020-04-28

JqGrid国际化Demo.zip

JqGrid使用国际化插件实现国际化功能的 demo;

2020-04-22

jqGrid.zip

JqGrid插件包,包含国际化语言插件

2020-04-22

reids+tomcat8.5+tengine实现session相关jar包.zip

Tomcat + Redis +Tengine 实现session共享相关的依赖jar包;

2020-04-14

i18n_case.zip

国际化插件jquery.i18n的使用demo

2020-03-28

wxParse.zip

小程序的显示富文本的插件;小程序的显示富文本的插件;小程序的显示富文本的插件,小程序的显示富文本的插件

2020-03-21

regenerator-runtime.7z

微信小程序中使用Async-await方法异步请求变为同步请求所需的依赖工具类;微信小程序中使用Async-await方法异步请求变为同步请求所需的依赖工具类;

2020-03-16

treeSelect.zip

基于Layui的树形组件选择器插件工具包,基于Layui的树形组件选择器, 基于Layui的树形组件选择器

2020-03-07

treetable-lay.zip

Layui的树形组件treetable的使用所需的插件工具包,Layui的树形组件treetable的使用所需的插件工具包,Layui的树形组件treetable的使用所需的插件工具包

2020-03-07

jquery插件.zip

jquery tips 提示插件 jquery.tips.js v0.1beta JQUERY TIPS的提示插件 本地上传备份/使用分享,以免遗忘

2020-02-29

微信小程序支付工具类

自封装的微信小程序支付相关工具类,可根据自己的实际业务需求进行更改,主要用于方便开发。当然若是有更优的,可以自行封装

2020-02-24

emqx-centos6-v3.2.3.zip

emqx-centos6-v3.2.3软件安装包 linux版本,博客配套资源软件,由于官网下载速度太慢,而上传到csdn

2019-12-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除