- 博客(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 262
原创 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 421
原创 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 525
原创 并发创建或更新具备唯一约束特征数据的方案简析
文章目录一、并发创建或更新场景描述二、redis + 新事务方案1、方案流程伪代码2、缺陷3、优点三、新增方案(mysql upsert语法)1、忽略插入冲突的方案流程2、缺陷3、优点一、并发创建或更新场景描述在业务执行过程中,需要创建具有唯一约束(业务主键)的行记录;在web入口处无法很好的用切面控制并发,需要执行到业务深处才能拿到业务主键信息;基于createWhenMiss写入记录,不是每一次都需要执行创建;可能有更新的需求,当更新的项不存在时需要创建。二、redis + 新事务方案
2021-06-09 16:03:41 326
原创 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和microk8s1、操作系统环境➜ ~ uname -aLinux local-microk8s 5.8.0-53-generic #60~20.04.1-Ubuntu SMP T
2021-06-04 10:19:46 875
原创 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 166
原创 SpringBoot自动装配流程梳理
SpringBoot自动装配流程梳理关键类说明参考博客:https://blog.csdn.net/andy_zhang2007/article/details/85706037工具名称功能简介ConfigurationClassPostProcessorBeanDefinitionRegistryPostProcessor/BeanFactoryPostProcessor接口的实现类,会在应用程序启动过程中,应用上下文执行BeanFactoryPostProcessor阶段
2020-12-01 17:00:06 1128
原创 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 578
原创 基于redis实现可靠的延时队列
基于redis实现可靠的延时队列源码地址,欢迎star调度流程图整体实现要点seata保证业务和消息的一致性后续可以将消息和业务放到微服务本地库,使用本地事务即可保证一致性load模块基于定时任务加载消息库消息到内存应用启动时基于检查点进行消息加载checkpoint机制保证获取较新故障恢复点,结合消息状态减少重复投递定时预加载与及时入库结合,保证消息投递及时性和中转效率port模块主要负责中转调度接受业务及时投递和定时任务投递,转储到实际
2020-09-05 10:55:16 1454 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 202
原创 Flyway主要源码解析(基于注释)
文章目录Flyway版本信息迁移状态枚举验证与迁移启动入口主体流程验证:validate批量校验主体流程校验获取状态迁移:migrate迁移中的事务批量迁移组迁移应用组迁移关于脚本事务修复:repair通用的重要方法刷新DB中最新版本Flyway版本信息flywayVersion = “5.2.4”迁移状态枚举// 需要注意,每个枚举内部定义好了变量,用于判定是否在类路径中,是否应用过,是否应用失败。MigrationState(String displayName, boolean reso
2020-07-09 16:57:44 2515 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人