分布式
文章平均质量分 65
zengliangxi
一个充满理想的人
展开
-
工作实战之微服务认证实现
白银段位:微服务应用,认证方式springsession+sessionId同步,存在延迟钻石段位:微服务应用,认证方式springsession+redis分布式缓存,存在跨域问题以及CSRF攻击星耀段位:微服务应用,认证方式springsecurity+oauth2,jwttoken方式一、钻石段位springsecurity+springsession+redis缓存。星耀段位:微服务应用,认证方式springsecurity+oauth2+jwttoke原创 2023-03-02 14:29:45 · 448 阅读 · 0 评论 -
xxl-job源码解读(执行器注册调度器)
a.ExecutorRegistryThread,内部启动一个线程registryThread。2.toStop在程序关闭的时候,注销注册的执行器,以免后续调度器调用无效执行器。b.服务端,接收到http请求,将注册信息,存入到数据库,供后面,调度器调度。1.setDaemon(ture)为守护线程,程序关闭不受影响。原创 2022-09-16 18:02:17 · 1159 阅读 · 0 评论 -
springboot集成kafka消费手动启动停止
在某个特定场景,需要对kafka实行暂停消费,等月结完成,从新启动消费原创 2022-09-05 18:50:33 · 4325 阅读 · 0 评论 -
分布式事务原理源码分析(seata)
zh一.TM-RM-TC工作流程图二.详细流程分析1.GlobalTransactionScanner a.TM注册,RM注册,这一步,可以个性化TC的认证,不是所有TM和RM都能注册上来,如果你要做一个类似GTS的分布式事务服务 private void initClient() { if (LOGGER.isInfoEnabled()) { LOGGER.info("Initializing Global Transaction C...原创 2022-05-26 12:46:33 · 679 阅读 · 0 评论 -
脱敏组件start
一.文章结构1.敏感数据页面上部分显示,可以基于web拦截器返回前端前做修改,也可以基于mybatis拦截器在查询出来后做修改2.项目集成(开箱即用,maven引入,返回类上加注解)3.项目demo测试4.实现原理剖析(自定义注解,mybaits拦截器使用,java反射的使用)5.源码下载二.项目集成1.maven引入<dependency> <groupId>com.zenglx.assembly</groupId&g原创 2021-08-24 20:44:11 · 280 阅读 · 0 评论 -
分布式页面防重复提交组件start
一.文章结构1.页面防重复提交实现方式(按钮置灰治标不治本,主键判断高并发下失效,基于redis单线程实现)2.项目集成(开箱即用,maven引入,方法加注解)3.多线程快速点击结果展示4.实现原理剖析(自定义注解,spring的aop拦截,redis的setNx的使用)5.源码地址下载二.防重复提交组件集成1.maven引入 <dependency> <groupId>com.zenglx.assembly</gr原创 2021-08-23 14:42:49 · 191 阅读 · 0 评论 -
分布式递增序列实现组件starter
一.实现方式1.基于redis实现的递增序列2.基于数据存储过程实现的递增序列3.基于数据库乐观锁实现的递增序列二.测试结果展示1.基于redis实现分布式递增序列a.测试代码package com.zenglx.demo;import com.zenglx.assembly.increasingSequence.api.SequenceGeneratorApi;import org.springframework.beans.factory.annotation.Aut原创 2021-08-21 18:00:33 · 373 阅读 · 0 评论 -
spring zuul上传大文件处理
上传大文件经过zuul网关,包head space内存溢出处理方式有两种1.在application.yml配置中增加file-size-threshold: 20MBspring: application: name: zuul-gateway servlet: #spring boot2.0之前是http multipart: enable...原创 2020-03-16 17:11:52 · 2574 阅读 · 0 评论 -
springboot2.0与百度开源分布式id生成器UidGennerator集成
UidGenerator 由百度开发,是Java实现的, 基于 Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于 docker等虚拟化环境下实例自动重启、漂移等场景下面来看怎么在项目中集成:代码结构如下图1.https://github.com/baidu/uid-generato...原创 2019-07-27 14:24:06 · 1260 阅读 · 1 评论 -
redis实现防重复提交
前端重复提交的解决方案1.按钮置灰解决重复提交问题,不是很靠谱可绕过前端2.后台业务控制,增加代码量,增加业务逻辑复杂度3.使用redis分布式锁(setnx)解决下面我们用aop使用第三种方式解决,可以做到比较通用1.定义注解@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(Retention...原创 2019-07-30 10:06:02 · 1821 阅读 · 0 评论 -
springboot2.0与quartz的集成实现分布式高可用,多个调度器模式
本文完成了springboot2.0与调度工具quartz的集成,完成高可用,将状态保存到数据initialize-schema: never这个有三个值,有兴趣的可以去查一下,是关于在数据库中创建quartz表的配置 在项目启动时,将配置文件的job加入到调度服务里面,同时调度服务把它记录到数据库中,然后任务在触发点执行,调度服务回去修改相应状态,通过数据库锁的机制,完成分布式...原创 2018-12-19 09:51:04 · 2991 阅读 · 6 评论