- 博客(11)
- 收藏
- 关注
原创 本地消息调度框架业务适配参考指南
文章目录本地消息调度框架业务适配参考指南一、解决的目标问题二、demo演示1、架构说明1)职能图2、调度全流程演示1)环境准备a.源码下载b.表准备c.外部化配置说明2)mq准备3)服务调度演示a.启动时调度b.即时消息调度c.延时消息调度d.组件工作说明三、业务适配1、适配场景演示2、业务接入说明四、个别实现细节时间处理检查点处理任务调度五、更多特性六、TODO 本地消息调度框架业务适配参考指南 无业游民了,把之前在团队里的分享拿出来晒晒。 作者:赵世攀 一、解决的目标问题 消息最终一致性解决方
2021-08-11 21:27:06
351
原创 Seata事务处理流程(主AT)
文章目录Seata事务处理流程前言一、组件装配二、核心组件源码分析1、GlobalTransactionScanner1.1、职能详解1.1.1、AbstractAutoProxyCreatorpostProcessBeforeInitializationwrapIfNecessary1.1.2、InitializingBean2、GlobalTransactionalInterceptor2.1、职能详解2.1.1、ConfigurationChangeListener2.1.2、MethodInterc
2021-07-09 18:41:43
536
原创 git并行开发工作流说明
git并行开发工作流说明 文章发霉了,晒一晒 日期:2020年7月8日 整体原则 假设有A/B两个分支在开发。 如果B需要独立上线,即使A在开发中,为了保证B不被A污染,禁止dev和beta分支merge into B。 因此,B解决与dev的冲突时,仅需要在dev上解决,而解决beta分支的冲突时,由于权限问题,需要在本地拉取一个临时的beta_b分支用于冲突解决,而后合到beta。 后续B在解决冲突的过程中,可以直接合到beta,如果仍有冲突(因为其他分支也在合beta),仍需要用beta_b过
2021-09-07 22:33:11
696
原创 并发创建或更新具备唯一约束特征数据的方案简析
文章目录一、并发创建或更新场景描述二、redis + 新事务方案1、方案流程伪代码2、缺陷3、优点三、新增方案(mysql upsert语法)1、忽略插入冲突的方案流程2、缺陷3、优点 一、并发创建或更新场景描述 在业务执行过程中,需要创建具有唯一约束(业务主键)的行记录; 在web入口处无法很好的用切面控制并发,需要执行到业务深处才能拿到业务主键信息; 基于createWhenMiss写入记录,不是每一次都需要执行创建; 可能有更新的需求,当更新的项不存在时需要创建。 二、redis + 新事务方案
2021-06-09 16:03:41
418
原创 ubuntu20.04 snap安装microk8s
文章目录ubuntu20.04 snap安装microk8s1、操作系统环境2、snap安装docker2.1、docker命令去除sudo3、snap安装microk8s3.1、常规安装3.2、一些情况 ubuntu20.04 snap安装microk8s 文章时间:2021年6月4日 使用snap安装docker和microk8s 1、操作系统环境 ➜ ~ uname -a Linux local-microk8s 5.8.0-53-generic #60~20.04.1-Ubuntu SMP T
2021-06-04 10:19:46
1064
原创 redis分布式锁要点
redis分布式锁要点 gitee项目:redis-lock-starter 核心知识清单 @AspectJ切面编程 redis分布式锁 自定义注解的使用 spring.factories编写starter应用 redisson加锁api 注意点 业务内校验不可少 分布式锁控制竞争时只有一个能进入方法,方法一旦结束就会释放锁,并不持久化资源的占用情况。 演示示例:https://gitee.com/fantasyzsp/redis-lock-starter/blob/master/src/te
2021-04-07 16:03:49
248
原创 SpringBoot自动装配流程梳理
SpringBoot自动装配流程梳理 关键类说明 参考博客:https://blog.csdn.net/andy_zhang2007/article/details/85706037 工具名称 功能简介 ConfigurationClassPostProcessor BeanDefinitionRegistryPostProcessor/BeanFactoryPostProcessor接口的实现类,会在应用程序启动过程中,应用上下文执行BeanFactoryPostProcessor阶段
2020-12-01 17:00:06
1261
原创 canal简单场景应用Demo
文章目录canal之简单场景应用Demo非集群-表映射模式deployer配置文件client-adapter配置文件rest接口adminclient附录简单工具集python批量生成yml工具批量请求Etl接口脚本 canal之简单场景应用Demo 转载自本人文章:http://techblog.sishuxuefu.com/atricle.html?5dfc918bdd3c1300729ce424 用于数据同步 针对mysql场景进行介绍 参考文档 https://www.bookstack.c
2020-11-26 10:06:26
690
原创 基于redis实现可靠的延时队列
基于redis实现可靠的延时队列 源码地址,欢迎star 调度流程图 整体实现要点 seata保证业务和消息的一致性 后续可以将消息和业务放到微服务本地库,使用本地事务即可保证一致性 load模块 基于定时任务加载消息库消息到内存 应用启动时基于检查点进行消息加载 checkpoint机制保证获取较新故障恢复点,结合消息状态减少重复投递 定时预加载与及时入库结合,保证消息投递及时性和中转效率 port模块 主要负责中转调度 接受业务及时投递和定时任务投递,转储到实际
2020-09-05 10:55:16
1605
2
原创 Spring Cache应用
文章目录Spring Cache应用缓存更新策略Cache Aside模式Spring Cache的应用概述技巧说明缺陷说明 Spring Cache应用 缓存更新策略 更新缓存顺序优劣: 参考文章 https://blog.51cto.com/1991785/2129660 先更新DB后删除Cache(推荐) 极端情况下存在一前一后读写、一后一前删写缓存造成缓存不一致。 相比于先更新数据库后更新缓存,在操作缓存时更迅捷(只是根据key删缓存,不需要传递值内容),出错几率更低,且因为都是删操作,并
2020-07-18 22:25:22
316
原创 Flyway主要源码解析(基于注释)
文章目录Flyway版本信息迁移状态枚举验证与迁移启动入口主体流程验证:validate批量校验主体流程校验获取状态迁移:migrate迁移中的事务批量迁移组迁移应用组迁移关于脚本事务修复:repair通用的重要方法刷新DB中最新版本 Flyway版本信息 flywayVersion = “5.2.4” 迁移状态枚举 // 需要注意,每个枚举内部定义好了变量,用于判定是否在类路径中,是否应用过,是否应用失败。 MigrationState(String displayName, boolean reso
2020-07-09 16:57:44
2914
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅