avatar
文章
86
标签
38
分类
30

主页
归档
标签
分类
关于我
flyingzc's blog
主页
归档
标签
分类
关于我

flyingzc's blog

常用的 Zookeeper 命令
发表于2023-12-20|Zookeeper
常用的 Zookeeper 命令当 zk 出现问题时,可以进入 zookeeper 所在 bin目录,启动zk命令行工具进行相关运维操作。 12# 启动 zkCli, 连接 zk./sh zkCli.sh 新增1234# 1.增# 创建节点:create [-s] [-e] path data aclcreate /zk-node 123 删除1234567# 2.删# 删除节点:delete path [version]delete /zk-node# 级联删除节点deleteall path 修改1234# 3.改# 更新节点里的数据set path data [version] set /zk-node 333 查询1234567891011121314151617181920212223242526272829# 4.查# 4.1.查看指定路径ls path [watch]ls /ls /governance_ds_tablels /governance_ds_table/metadata# 级联查看路径ls -R path# 4.2.查看指定节点的数据内容get pa ...
分布式一致性模型
发表于2023-12-19|Transaction
分布式一致性模型分布式一致性探讨的问题:由于分布式环境 CAP 理论的存在,当用户对数据发生读写操作时可能产生的结果。 线性一致性所有操作被记录在一条时间线上,任意两个事件都可以比较先后顺序.任何客户端一定读取到最新写入的数据(包括从其他客户端写入的)。 实现:依赖全局时钟实现,保证所有操作记录在一条时间线上。 顺序一致性多个写操作全局有序,单个客户端看到的写操作的顺序相同。但是不保证各个客户端一定读取到最新值,只能保证一个客户端读取到写入的新值后,不会再读取到旧值即可。 实现: Zookeeper 因果一致性所有过程必须以相同的顺序看到因果相关的操作。没有因果关系的并发写入可以被不同的进程以不同的顺序观察到。也就是说有因果关系的操作按照因果顺序读取到结果,没有关系的操作之间可能会乱序。 实现:依赖逻辑时钟实现。 参考jepsen
Ubuntu Destktop 22.04 禁用自动更新
发表于2023-12-14|Ubuntu
Ubuntu Desktop 22.04 禁用自动更新Ubuntu 的自动更新并不稳定,之前的一次推送更新了内核版本,稳定性影响比较大,禁用自动更新的方法如下:1.在设置里禁用软件更新 2.关闭 unattended-upgrades如果只禁用上面的更新,unattended-upgrades 还是会在后台更新软件包,也需要禁止。 12345# unattended-upgrades 更新的内容可以在 /var/log/apt/history.log 里查看sudo systemctl status unattended-upgrades# 禁用自动更新sudo systemctl disable unattended-upgrades 禁用后查看结果如下,后续再查看 /var/log/apt/history.log 就不会有软件自动更新的日志了。 1234➜ ~ systemctl status unattended-upgrades○ unattended-upgrades.service Loaded: masked (Reas ...
Narayana 事务回滚流程
发表于2023-12-13|Narayana
Narayana 事务回滚流程当用户手动调用 connection.rollback() 回滚当前全局事务时,会走如下流程。 总体流程1234遍历每个 resource 执行 xa end; 执行 xa rollback;清理缓存 使用1234567TransactionManager transactionManager = jtaPropertyManager.getJTAEnvironmentBean().getTransactionManager();// 开启事务transactionManager.begin();// 执行 sql 语句// ...// 回滚事务transactionManager.rollback(); 调用链路1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374com.arjuna.ats.internal.jta ...
Ubuntu Destktop 22.04 设置 ssh 超时时间
发表于2023-12-12|Ubuntu
Ubuntu Destktop 22.04 设置 ssh 超时时间Ubuntu Destktop 22.04 使用 ssh 连接服务器时,发现一段时间不操作就会自动断开连接,解决方法如下: 打开 /etc/ssh/ssh_config 文件: 1sudo vim /etc/ssh/ssh_config 在文件最后添加: 1234# ssh 客户端会每隔 30 秒发送一个 KeepAlive 请求,保证终端不会因为超时空闲而断开连接ServerAliveInterval 30# ssh 客户端发送请求后,没有收到响应的次数达到指定次数后,才会自动断开连接ServerAliveCountMax 18
Narayana 事务恢复流程
发表于2023-12-12|Narayana
Narayana 事务恢复流程总体流程123456789101112131415恢复线程轮询1.判断是否有任务要处理2.若有任务要处理,则处理 1.获取所有配置的 recovery modules 2.遍历recovery modules,执行一阶段处理 XARecoveryModule: 执行 XA recovery 命令从 RM 中获取 prepare 状态的 XID 数组并缓存 AtomicActionRecoveryModule: 从事务日志中,获取需要恢复的 XID 数组并缓存 3.遍历recovery modules,执行二阶段处理 AtomicActionRecoveryModule: 1.根据状态判断是否需要执行二阶段的 commit 或 rollback 2.清理事务 recovery 日志 XARecoveryModule: 再次尝试进行恢复 调用链路123456789101112 ...
Narayana 事务 Commit 流程
发表于2023-12-11|Narayana
Narayana commit 流程整体流程123456789101112131415161718192021222324事务提交 判断是否能进行一阶段提交优化 若能一阶段提交 执行一阶段提交 否则 二阶段提交 prepare阶段 执行 xa end 执行 xa prepare xaResourceRecord 插入到 preparedList BasicAction#insertRecord 更新状态 ActionStatus.COMMITTING 保存状态,打包状态到 outputBuffer 里 XAResourceRecord#save_state ...
Narayana 事务 begin 流程
发表于2023-12-08|Narayana
Narayana 事务 begin 流程整体流程12345检查事务状态获取超时时间创建事务对象 事务对象设置到 ThreadLocal 中,和当前线程绑定 插入事务测超时时间监控 使用 API123TransactionManager transactionManager = jtaPropertyManager.getJTAEnvironmentBean().getTransactionManager();// 开启全局事务transactionManager.begin(); 调用链路123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869internal.jta.transaction.arjunacore.BaseTransaction#begin开启事务 internal.jta.transaction.arjunacore.BaseTransaction ...
Narayana 事务资源注册流程
发表于2023-12-08|Narayana
Narayana enlistResource流程XA 事务内每个物理连接执行第一条物理 sql 之前,需要执行 xa start 操作开启每个RM分支上的 xa 事务,并将 xaResource 注册到 TransactionManager 里。 整体流程12345678910transaction.enlistResource(xaResource) 执行 XA start xid 遍历 resource 判断当前是 isNewRM 创建 xid createRecord theTransaction.add(abstractRecord) record 添加到 BasicAction.RecordList 里 执行 xa start 语句,若失败重试 MysqlXAConnection#start 把 XAResource 缓存到 map 使用1234567// 获取 XADataSourceXADataSource xaDatasource = MyS ...
Narayana启动-注册恢复模块流程
发表于2023-12-07|Narayana
Narayana启动-注册恢复模块流程使用代码12// narayana 在启动阶段使用如下 api 加载恢复模块XARecoveryModulexaRecoveryModule = XARecoveryModule.getRegisteredXARecoveryModule(); 总体流程1234567891011121314151617注册恢复模块 反射创建 RecoveryEnvironmentBean 配置信息实例 加载 RecoveryActivators 启动 RecoveryActivators 初始化 PeriodicRecovery 设置恢复状态 INACTIVE 设置恢复mode ENABLED 加载恢复模块,module包括: 1.com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule 2.com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule ...
1…456…9
avatar
flyingzc
不积跬步无以至千里
不积小流无以成江海
文章
86
标签
38
分类
30
Follow Me
公告
FlyingZC's Blog
最新文章
ShardingSphere开启预编译参数insert慢定位2026-02-09
HikariCP 连接池创建流程2025-12-22
Apache Ignite 开启事务执行流程2025-10-11
Apache Ignite 分布式事务原理2025-09-18
Apache Ignite IDEA 环境搭建2025-09-11
分类
  • ADB1
  • AI1
  • Concurrent2
  • Coral2
  • Data Structure1
  • Docker1
  • Druid1
  • Dubbo7
标签
Linux Docker Termux Transaction SpringBoot Redis SQL-Parse Paddle Spring Zookeeper Ubuntu Desktop Data Structure Omid 性能调优 springboot Maven Jmeter git Tomcat Dubbo Narayana MySQL Ubuntu ADB Hotspot HikariCP Ignite Coral spring Druid ShardingSphere Tool H2 Concurrent Percolator Android Otter Database
归档
  • 二月 20261
  • 十二月 20251
  • 十月 20251
  • 九月 20252
  • 七月 20253
  • 四月 20251
  • 三月 20251
  • 十一月 20241
网站资讯
文章数目 :
86
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By flyingzc