自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (6)
  • 收藏
  • 关注

原创 spring boot 实现 RSA + AES 混合加解密案例

代码】spring boot 实现 RSA + AES 混合加解密。

2022-08-09 15:53:37 653

原创 ConcurrentHashMap 面试题 30 问

因为CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了,这就是ABA问题。.....................

2022-07-29 09:57:06 633

原创 Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

以上就是搭建高可用k8s集群全部的内容,步骤讲解得非常详细,比较适合初学者学习,我们一起共同学习,共同进步。httpshttpshttpshttpshttpshttpshttpshttps。

2022-07-26 15:23:06 1581

转载 kubectl常用命令大全详解

这是我转载的一个博主写的 K8s 常用命令大全,看了我写的入门基础篇linkKubernetes kubectl 命令表【中文网址】Kubernetes kubectl 命令表要使用和维护Kubernetes集群,最常用且直接的方式,就是使用自带的命令行工具Kubectl。下面图片是一个总览,熟悉后可以用于勾起记忆。[root@master ~]# kubectl create -f demo-deployment.yaml[root@master ~]# kubectl create -f dem

2022-07-18 12:55:52 4554

原创 Kubernetes(K8S)集群搭建基础入门教程

K8s操作命令还有很多,这里我转载了一位博主的文章,对于K8s操作命令讲解的很全面,看这篇文章就足够了linkhttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。............

2022-07-18 12:54:46 957

原创 Kubernetes(K8s) 基本概念

K8s是Google在2014年开源的一个容器集群管理系统,简称K8SK8s用于容器化应用程序的部署,扩展和管理,目标是让部署容器化应用简单高效httphttps关于K8s相关组件的知识到此已讲解完,这只是根据我个人的理解所写,更加深入的大家可以自行去了解,基本上了解了个大概,下面我会根据所了解的搭建一个K8s集群环境,下一篇文章将会实现这个,大家可以参考操作一遍,加深对上面所说的理解。httpshttpshttpshttpshttpshttpshttps。......

2022-07-18 12:53:29 301

原创 实现 MySQL 主从复制配置

主从复制主要操作是让一台服务器 Master 的数据和其他服务器 Slave 保持同步。一台 Master 数据可以同步到多台备库 Slave 上,同时一台 Slave 本身也可以配置另外一台服务器的 Master,Master 库和 Slave 库可以有多种不同的组合。在企业实际的开发中,后端 MySQL 数据库只有一台的时候,会有以下问题:主从复制流程图:执行流程说明:192.168.2.125 和 192.168.2.126 安装 MySQL 的步骤都是一样的,以安装在 192.168.2.

2022-07-06 14:32:10 320 2

原创 Docker、Jenkins、Harbor 构建镜像部署 SpringBoot 项目

Harbor 是由 VMware 公司开源的企业级的 Docker Registry 管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,具有 web 管理功能,有了它之后能够很方便的管理容器镜像,搭配 Jenkins 使用很是方便。Harbor 由多个组件组成,每个组件都是以 Docker 容器的形式构建的,因此,我们使用 Docker Compose 来对它进行部署。用于部署 Harbor 的 Docker Compose 模板位于 harbor/do

2022-07-01 14:06:40 859

原创 Docker、Jenkins 结合 SonarQube 和 Sonar scanner 进行代码质量扫描

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检 测。官网地址:https://www.sonarqube.org/如果要使用 sonarQube 需要注意两点:安装地址:https://blog.csdn.net/wuhuayangs/article/details/125426751?spm=1001.2014.

2022-07-01 09:15:21 473 2

原创 Docker、Jenkins、Git 自动化部署 SpringBoot 项目(从零到搭建完成)

虚拟机相关环境安装可以查考我的这篇文章:https://blog.csdn.net/wuhuayangs/article/details/125295937?spm=1001.2014.3001.5501安装 Docker 之前查看是否已经安装,可以卸载重新安装。1、列出当前 Docker 相关的安装包2、如果已经存在,则卸载对应的包3、最后删除 Docker 目录安装 Docker1、检查环境在 CentOS 7 安装 Docker 要求系统为64位、系统内核版本为 3.10 以上,可以使用以下

2022-06-23 14:37:31 1007 2

原创 Jenkins 自动化构建部署 Spring Boot 项目(从零到搭建完成)

由于我们是在测试环境实现 Jenkins 的,这里我们直接使用 VMware 安装 CentOs7 的虚拟机,安装的方法可以直接参考我分享的这篇文章:https://blog.csdn.net/wuhuayangs/article/details/125295937?spm=1001.2014.3001.5502Jenkins 安装支持 docker 和 war 两种方式,这里我们只讲 war 方式进行安装,docker 安装留在下一篇讲,一步步来嘛。下载 Jenkins 有两种方式:在我们部署 Jenki

2022-06-16 16:21:12 957

原创 Linux 环境搭建一步到位,看这篇就够了!

VMware Workstation 是一款功能强大的桌面虚拟软件,可模仿物理机器承载多个虚拟操作系统。VMWare下载地址链接:https://pan.baidu.com/s/1OFVRzCySbrzLs-P37Iw9gg 提取码:wiih安装博客:https://blog.csdn.net/babyxue/article/details/80970526这里我们采用 CentOS 7 操作系统,该系统是目前企业中使用率非常高的系统。下载地址:https://mirrors.aliyun.com/cent

2022-06-15 16:25:20 4708

原创 如何快速的 drop 掉一个超过 100G 的大表?

这篇文章主要介绍怎么实现快速删除一个超过 的大表,正常的我们都会执行命令 来删除表。但是会有一个问题,就是执行 命令之后,删除没有反应,一直卡顿在哪里。于是强制结束了执行并且选择 drop() 进行删除,但执行 命令后,发现花了更久的时间,命令还是没返回执行成功,这到底是怎么回事呢?出现这个情况的原因就是因为,在的时候, 维护了一个全局独占锁(在 上面),直到 完成才释放。 会严重的消耗服务器 性能,如果被 的表容量较大,甚至会影响到线上的正常。造成长时间的业务无法访问数据库,更严重,导致数据库崩

2022-06-14 11:50:49 627 1

原创 接口文档管理神器 Apifox,我爱了

今天这篇文章主要想介绍一下开发接口文档,一个好的接口文档对于前后端开发效率的成本可以减少。在我现在和前面的公司,有的直接发txt记事本文档,有的使用 SwaggerUI,还有就是 ShowDow API文档,这些文档都不能提高效率。下面我们看一下SwaggerUi 和 ShowDow 工具是怎么样的。Swagger UI 自动生成的接口文档,如下所示:使用 Swagger UI 文档的不好之处:而使用 ShowDow 就很好的解决了 Swagger UI 文档一些不足之处,如下:从上图我们知道,Sh

2022-06-13 13:09:12 475

原创 Linux 常用命令汇总(详细版)

Linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后再次目录下再创建其他的目录。目录结构:以下是对这些目录的解释:less:可以按键盘上下方向键显示上下内容more:不能通过上下方向键控制显示less不必读整个文件,加载速度会比 more 更快less 退出后 shell 不会留下刚显示的内容,而 more 退出后会在 shell 上留下刚显示的内容less命令:more命令:.....................

2022-06-10 15:03:52 1174

原创 为什么需要分布式 ID,在项目中该怎么做?

在日常的开发中,我们需要对系统中的各种数据使用 ID 作为唯一表示,比如系统的用户 ID 只能对应一个人,订单 ID 只能对应一个订单。我们现实生活中也有各种 ID,比如,身份证号就是一个 ID 对应一个人。简单来说,ID 就是数据的唯一标识。那么什么是分布式 ID?这里举个简单的例子。比如单机 MySQL 数据库,前期因为业务量不大,只是使用单个数据库存数据,后期发现业务量一下子就增长,单机 MySQL 已经不能满足于现在的数据量,单机 MySQL 已经没办法支撑了,这时候就需要进行分库分表。在分库分表之

2022-06-09 17:28:14 369

原创 支付金额使用 BigDecimal 会丢失精度问题

当我们在计算金额或者显示金额时,基本已经形成了常识,都会使用 BigDecimal 而不是其他的,这个也是涉及到金额时非常推荐的一个类型。而我们也都知道浮点型变量在进行计算的时候会出现丢失精度的问题。在我们使用 BigDecimal 的同时,是否知道也会丢失精度呢?接下来我们就一探究竟,从而在计算金额时更好使用 BigDecimal。下面我们看一段代码,如下所示:通过测试发现,当使用 double 或者 float 这些浮点数据类型时,会丢失精度。如果我们在进行商品价格计算的时候,就会出现问题,如果线上

2022-06-06 17:25:27 380

原创 Mybatis-Plus 注入 SQL 原理分析

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。那么 MyBatis-Plus 是怎么加强的呢?其实就是封装好了一些 crud 方法,开发人员不需要再写 SQL 了,间接调用方法就可以获取到封装好的 SQL 语句。特性:下面我们先从一个简单的 demo 入手,来感受一下 MyBatis-plus 的便捷性。实体类对象UserMapper 继承 BaseMapper 接口测试最终查询的 SQL 语句如下图:从

2022-06-01 16:28:02 816

原创 @Transactional 注解失效场景

前言今天早上同事去面试的时候被面试官问到了一个问题,就是@Transactional注解用在什么地方事务会失效,一时之间没有回答上来,因为我们在用这个注解的时候没有过多的去关系它到底在什么情况下会失效,所以今天我利用一点时间来跟大家分享一下@Transactional相关的知识。对于开发人员来说 @Transactional 已经不陌生了,当我们需要保证数据执行前后都要一致的时候就需要用到事务,它可以保证方法中数据库操作要么同时成功、要么同时失败,使用 @Transactional 有很多需要注意的地

2022-05-31 10:03:34 219

原创 不能不懂的 Java 源代码编译过程分析

前言首先问大家一个问题,我们开发好 Java 代码是如何运行的?我们写了这么多年的代码,对于代码运行的流程是否清楚呢?是不是在 ide 中点一下 Run 启动就完事了,我们写的代码直接就跑起来了,其实在背后编译器和虚拟机默默的在帮我们承受了这一切。Java 程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码2、字节码由 Java 虚拟机解释运行。因为 Java 程序既要编译同时也要经过 JVM 的解释运行。Java 代码编译代码编译由 JAVA 源码编译器来完成。主要是将

2022-05-27 17:40:56 916

原创 java 中实现微信支付退款功能案例

首先调用微信支付退款 API 地址 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4案例代码支付退款工具类用于支付参数中的 nonce_str 字段赋值/** * 生产32位随机数 **/ public static String getUUID(){ UUID uuid = UUID.randomUUID(); return uuid.toString().replace("-",""); }用于支付参

2022-05-24 10:54:19 2361

原创 Java调用ssl异常(javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or ci

今天项目中做了一个微信退款接口,当请求微信退款接口时,报了一个错误:“javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)” 在本地测试是不会报错的,但是发布到测试环境退款就报这个错误,在网上找了很多解决方案,都是如以下的解决方案:今天做升级用了jdk1.8发现java调用SSL的时候,突然一下抛出一个异常经过一阵瞎

2022-05-23 15:58:34 2073

原创 Java高频面试题总结

设计面试面试题一个单例还能写出花来吗?单例模式的7个问题面试官问你单例设计模式,问问自己你真的了解单例吗?小单例,不简单!漫画:AOP 面试造火箭事件始末 动态代理总结,面试你要知道的都在这里,无废话!linux 面试题凉了!张三同学没答好「进程间通信」,被面试官挂了…懵了,阿里面试官叫我讲讲mmap?框架篇:小白也能秒懂的Linux零拷贝原理从根上理解用户态与内核态 讲讲用户空间和内核空间你管这破玩意叫 IO 多路复用?阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO

2022-05-13 13:23:32 255

原创 关于@Controller方法中return返回值成功,前端报404问题的正式解决

前言今天用 postman 测试接口发现出现了重复的地址名称,比如原本路径应该是 /wxMpService/details 的,变成了这样 /wxMpService/wxMpService/details,多了个 wxMpService,我想不通是什么问题导致,因为后台有返回了数据,但是到前端就报 404 的问题。后来经过测试发现了问题,就是如果我定义 @Controller 注解就会发生这个问题,如果我定义 @RestController 就会访问正常,为什么会出现这种情况呢。原因是由于 @C

2022-05-12 14:59:53 1301

原创 面试官:说一下什么是熔断?什么是服务降级?

服务熔断熔断就像是家里的保险丝一样,当电流达到一定条件时,比如保险丝能承受的电流是5A,如果你的电流达到了6A,因为保险丝承受不了这么高的电流,保险丝就会融化,这时候电路就会断开,起到了保护电器的作用;在微服务里面也是一样,当下游的服务因为某种原因突然变得不可用或响应过慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用;服务降级服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能出现负荷过载或者响应

2022-04-15 16:48:40 316

原创 MQ - 如何保证消息不丢失?处理重复消息?消息堆积处理?

什么是消息队列在百度百科中,消息队列是这么解释的:“消息队列”是在消息的传输过程中保存消息的容器。消息队列全称为英文 Message Queue 简称(MQ)是一种应用程序对应用程序的通信方法。MQ 是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以取队列中的消息。消息发布者(生产者)只管把消息发布到 MQ 中而不用管谁来取,消息使用者(消费方)只管从 MQ 中取消息而不用管是谁发布的。目前市面上的消息队列有很多,例如:Kafka、RabbitMQ、ActiveMQ、Ro

2022-04-15 10:57:54 2811

原创 MyBatis 缓存原理解析

为什么 MyBatis 要缓存缓存在互联网系统中是非常重要的, 其主要作用是将数据保存到内存中, 当用户查询数据时, 优先从缓存容器中获取数据,而不是频繁地从数据库中查询数据,从而提高查询性能。而在 ORM 框架中引入缓存的目的就是为了减少读取数据库的次数,从而提升查询的效率。在 MyBatis 中存在两种缓存,一个在事务内部使用的一级缓存,另一个可以全局使用的二级缓存。一级缓存一级缓存也叫本地缓存,在MyBatis中,一级缓存是在会话(SqlSession)层面实现的,这就说明一级缓存作用范围只

2022-04-14 16:46:13 868

原创 Mycat分片规则介绍

配置介绍rule.xml 的 tableRule 标签配置表的分片规则如下:<tableRule name="rule"> <rule> <columns>id</columns> <algorithm>rule1</algorithm> </rule></tableRule>name指定分片规则名字,唯一性;columns指定用于分片的mysql实体表的字段,algorithm指定使用

2022-04-01 15:38:28 810

原创 详解Sharding-JDBC的概念

核心概念分片一般我们在提到分库分表的时候,大多是以水平切分模式(水平分库、分表)为基础来说的,数据分片将原本一张数据量较大的表 t_order 拆分生成数个表结构完全一致的小数据量表 t_order_0、t_order_1、···、t_order_n,每张表只存储原大表中的一部分数据,当执行一条SQL时会通过 分库策略、分片策略 将数据分散到不同的数据库、表内。数据节点数据节点是分库分表中一个不可再分的最小数据单元(表),它由数据源名称和数据表组成,例如上图中 order_db_1.t_order

2022-03-22 13:19:40 1034

原创 JVM内存调优

前言JVM 的内存优化其实就是对新生代、老年代的配置进行调优,那么应该设置多大呢,这是没有一定的答案的,调优就是一个找答案的过程,一边优化一边测试找到满意的答案,物理内存一定的情况下,新生代设置越大,老年代就越小,Full GC 频率就越高,但 Full GC 时间越短;相反新生代设置越小,老年代就越大,Full GC 频率就越低,但每次 Full GC 消耗的时间越大。建议个人建议如下:堆优化把堆的参数 -Xms 和 -Xmx 的值设置成相等的,堆大小默认为 -Xms 指定的大小,默认空闲堆内

2022-03-15 15:49:46 767

原创 内存溢出+CPU占用过高排查解决方案

前言这段时间以来都没有写过文章了,以为要换工作的原因,所以一直在为面试做准备,面试了几家收到了4个offer,连我也不知道什么时候这么抢手了,后来选择了一家做医疗的大公司工作,废话不多说,今天开始陆续写文章。这里不说其他的,只说内存的溢出以及怎么排查,这也是面试会被面试官问到的问题。以下的方式适合初学者。定位问题top命令查看最耗CPU的进程这里输入top 命令之后键入大写的 P ,进程按照 CPU 从高到底排序。查看最消耗 CPU 的线程,比如一下这个进程:1612 为进程号,键入大写

2022-03-15 10:06:48 594

原创 Redis 主从复制原理分析,这篇就够了

前言在现有企业中 80%公司大部分使用的是 redis 单机服务,在实际的场景当中单一节点的 Redis 容易面临风险。由于无法做到故障转移,所以接下来的请求将会直接打到数据库,大量的查询使得数据库连接数达到峰值,且内部锁冲突严重,造成慢查询、连接超时等后果。所以这个时候,我们能不能把数据复制多个副本部署到其他节点上进行复制,当发生故障时,快速地手动切换连接的 Redis?当然可以的,Redis 就为我们提供了这个功能。主从模式能将 Master 节点的数据冗余到多台 Slave 上,配合哨兵模式能

2022-02-10 16:30:31 1171

原创 深入分析 Synchronized 原理

Synchronized 简介Synchronized 是 Java 中的关键字,是一种同步锁。在多线程编程中,有可能会出现多个线程同时争抢同一个共享资源的情况,这个资源一般被称为临界资源。这种共享资源可以被多个线程同时访问,且又可以同时被多个线程修改,然而线程的执行是需要 CPU 的资源调度,其过程是不可控的,所以需要采用一种同步机制来控制对共享资源的访问,于是线程同步锁—— Synchronized 就应运而生了。Synchronized 用法Synchronized 关键字主要有以下 3 种使用

2022-02-07 11:42:56 537

原创 海量数据处理之 Bit-map 详细讲解

现在有这么一个问题:现存在 20 亿个数字,需要知道哪些数字没有出现在里面.这个问题你可能觉得一个 for 循环就能解决。但是有两个问题,第一个就是for循环效率的问题,第二个问题就是 20 亿个数字需要占据的内存空间,例如要存下 20 亿个数字需要多大空间呢?假设使用 int 存储,在 Java 中,int 占 4 字节,1 字节 = 8 位(1 byte = 8 bit,存放 20 亿个数字则需要:(2000000000*4/1024/1024/1024) ≈ 7.45G左右。面对上面的问题我们肯定不

2022-01-28 14:07:20 1234 1

原创 搞懂 Runnable、Future、Callable、FutureTask 之间的关系,这篇就够了

前言创建线程的两种方式主要有继承 Thread 类 或 实现 Runnable 接口,重写 run 方法,无论我们使用 Thread 还是 Runnable 新建线程,它都无法返回结果值。自从 Jdk1.5 开始,官方提供了 Callable 和 Future, 通过他们就可以获得任务的执行结果。其中 FutureTask 则作为 Future 的实现类。下面是他们的关系类图:RunnableThread 类本身也实现了 Runnable 接口,Runnable 接口源码如下:public in

2022-01-27 17:10:02 3134

原创 面试官:为什么有了平衡二叉树,还要选择红黑树这种数据结构?

首先讲解为什么要使用红黑树之前,有必要先了解二叉查找树和平衡二叉树,然后继续介绍红黑树,带着这个问题,让我们一起来学习今天的内容吧。二叉查找树二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如下图:二叉查找树中对于目标节点的查找过程类似于有序数组的二分查找,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logn)。为什么说是正常的情况下呢?是因为二叉查找树有一种极端的存在,二叉树的大部分子节点都比父节点值小,然后导致所有的数据偏向左

2022-01-27 10:45:22 867

原创 单个索引和组合索引(联合索引)谁效率高

首先我们创建第一张表为组合索引,如下所示:第二种表为单列索引,如下所示:创建完表之后我们开始

2022-01-26 09:56:13 6047 1

原创 Java 线程的 6 种状态及转化

前言线程是 JVM 执行任务的最小单元,理解线程的状态转换是理解后续多线程问题的基础。当我们说一个线程的状态时,其实说的就是一个变量的值,在 Thread 类中的一个变量,叫 private volatile int threadStatus = 0;这个值是个整数,不方便理解,可以通过映射关系(VM.toThreadState),转换成一个枚举类。public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TE

2022-01-25 18:13:13 839

原创 为什么重写 equals 方法后还需要重写 hashCode 方法

下面我们先看 一下 Object 类的 equals 方法和 hashcode 方法源码: public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }从代码中我们知道,创建的对象在不重写的情况下使用的是 Object 的 equals 方法和 hashcode 方法,从 Object 类的源码我们知道,默认的 equals 判断的是两个对象的引用指向

2022-01-24 16:29:38 418

原创 Spring Boot 中使用 @Async 注解导致循环依赖的原因及解决方案

前言在写这篇文章之前,我写了一篇关于循环依赖的文章,为什么这篇文章我又说和循环依赖有关的话题呢,其实,是因为我原本想写一篇关于 @Async 原理分析的文章的,后来为了能更深入理解 @Async 以便我接下来的写的文章,无意之间看到了 @Async 也会导致循环依赖的问题。关于循环依赖怎么解决以及源码分析可以看我这一篇文章:Spring 源码分析如何解决喜欢依赖的问题Spring 是允许循环依赖的,换句话说,Spring 自身是已经解决了循环依赖这个问题,但是在这里竟然又出现了。比如以下添加 @As

2022-01-21 17:36:02 1803 2

arraylist-linkedlist-test.zip

该文件内容主要是关于LinkedList在新增/删除元素时效率是否比 ArrayList 高,对比插入和删除时需要花费的时间

2021-11-15

根据最新版本4.1.1实现的分库分表案例

分库分表适合想要开发的入门级别的新手,主要是yml文件配置的分库分表方式,功能可以正常的运行,想开发分库分表这是不错的选择

2021-10-29

springboot-rocketmq-demo.zip

最新的springboot整合rocketmq消息发送和消费的功能,主要测试通过的案例如下: 功能特性: - [x] 同步发送 - [x] 同步顺序发送 - [ ] 同步批量发送 - [x] 异步发送 - [x] 异步顺序发送 - [x] 顺序消费 - [ ] 并发消费(广播/集群) - [x] one-way方式发送 - [x] 事务方式发送 - [ ] 消息轨迹 - [ ] ACL - [ ] pull消费 经过本人的测试可以直接使用

2019-12-31

使用ZooKeeper实现分布式锁

在分布式高并发的情况下,多个访问之间拥有唯一的一个订单编号,多次提交的订单不会出现重复的,只能是唯一的,ZooKeeper就很好的解决了唯一性

2019-08-14

SpringBoot 2.0.1 + thymeleaf实现的视频活体检测

H5视频活体检测产品,是由两个接口组合而成,主要用于在H5场景下,通过用户新录制并上传一个视频,来进行活体检测的判断。相对于APP有动作校验+静默图片活体、静默图片活体这两种方式,H5视频活体方案比APP方案更加灵活,同时比单张图片活体方式更加安全。其主要功能如下所示:语音校验码:为防止用户提交非当前操作的视频,在录制视频时,随机分配一个数字,用户需要读出这个数字,声音存于视频当中,并在后续识别时校验,以判断是否为此次会话。视频多帧活体检测:录制并上传的视频,会在云端进行随机抽帧分析,并得出最终的活体检测分数

2019-08-12

rabbitmq+springboot实现的rabbitmq

一个实现rabbitmq的案例,非常适合初学者学习,springboot+rabbitmq实现

2018-12-06

空空如也

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

TA关注的人

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