SOFA Weekly | 线上直播合辑整理、Seata QA 整理

2024-01-17 04:48

本文主要是介绍SOFA Weekly | 线上直播合辑整理、Seata QA 整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SOFA WEEKLY | 每周精选,筛选每周精华问答

同步开源进展,欢迎留言互动

SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics 监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,也是在金融场景里锤炼出来的最佳实践。

SOFAStack 官网: https://www.sofastack.tech

SOFAStack: https://github.com/sofastack

  每周读者问答提炼  

欢迎大家向公众号留言提问或在群里与我们互动

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

1、@谢小东 提问:

请教一个问题,在使用 Seata AT 模式的时候,新增的一条数据,回滚之前我在 db 改了我刚新增的数据,这个时候如果我抛出异常,但是就不发回滚,该怎么处理?

A:不要在全局事务包裹之外进行对数据的并发操作,如果你这样做,就跳过了 AT 的全局锁,隔离性无法保证,如果你有这方面需求的,可以用 XA 模式,并且使用数据库自身带有排它锁的操作,数据库的自身支持了 XA 模式,就可以帮你保证隔离性。

你的意思就是我在这种情况下 XA 模式适合?XA 模式是行锁么?

A:XA 是数据库自身实现的隔离机制,AT 是统一到 TC 去竞争行锁,而没用到 AT 的地方修改数据库当然就不会去 TC 竞争行锁,隔离性只能保证再全局事务注解下的操作生效。

2、@彭兴家 提问:

请问 Seata 里说的全局锁和本地锁对应 MySQL 的什么锁呀?

A:全局锁就是从 TC 竞争的锁,本地锁就是参与方自己本地的 MySQL 连接,比如 update 不就有排他锁的作用吗,因为一阶段提交,连接释放了,这个本地数据库的锁就解开了。而全局锁是从 TC 拿的,这个锁保证了你的入口只要是分布式事务注解下,就会去竞争这个全局锁。保证了再分布式事务注解下的全局事务间的隔离性

谢谢,明白了。但这样的话,Seata 通过前置镜像回滚。在全局事物执行的过程中,要是其他项目(没在全局事物下的项目)对该条数据进行了修改,那么按照 Seata 的机制,前置镜像对比不同了就不能回滚,需要手动处理?

A:是的,需要人工介入,因为只有人为分析才能校准数据了。对 Seata 来说他只知道要把数据回滚到发生前,但是数据被干扰了,就无法回滚了。

理论上来说这种情况出现的几率很大呀,多个不同项目操作同一条数据。

A:全局事务,字面意思要理解一下。你让他不全局了,让它不覆盖到,如何保证隔离性?要么涉及到的库对应的应用全局使用 Seata AT,要么就换 XA,修改的数据,用 select for update,这个本地锁在二阶段下发通知前不会释放,保证了隔离性。

3、@苏龙飞 提问:

请问,现在我们的 cloud 项目中用了 Seata,数据库只有一个,然后发现性能不够,所以想换成多主从数据库,并且能和 Seata 兼容,有没有好的方案呀?

A:主从方案本就应该是允许暂时的不一致,只要你保证读写都需要的时候,一定是主库,并把主库的 datasource 代理掉就好了,保证需要读后马上写的,一定要是主库操作。

Seata:https://github.com/seata/seata

  SOFAChannel 部分合辑  

  • 人人都可以“机密计算”:Occlum 使用入门和技术揭秘 | 开源

  • 蚂蚁集团网络通信框架 SOFABolt 功能介绍及协议框架解析 | 开源

  • 不得不说的云原生隔离性 | SOFAChannel#16 直播回顾

  • 蚂蚁金服分布式链路组件 SOFATracer 埋点机制解析 | SOFAChannel#15 直播整理

  • 云原生网络代理 MOSN 扩展机制解析 | SOFAChannel#14 直播整理

  • 云原生网络代理 MOSN 多协议机制解析 | SOFAChannel#13 直播整理

  • 蚂蚁金服分布式事务实践解析 | SOFAChannel#12 直播整理

  • 从一个例子开始体验轻量级类隔离容器 SOFAArk | SOFAChannel#11 直播整理

  本周推荐阅读  

  • 蚂蚁集团如何在大规模 Kubernetes 集群上实现高 SLO?

  • 蚂蚁是如何改进 K8s 集群敏感信息的安全防护的?

本文归档在 sofastack.tech。

这篇关于SOFA Weekly | 线上直播合辑整理、Seata QA 整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614903

相关文章

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

JavaScript整理笔记

JavaScript笔记 JavaScriptJavaScript简介快速入门JavaScript用法基础语法注释关键字显示数据输出innerHTML innerText属性返回值的区别调试 数据类型和变量数据类型数字(Number)字符串(String)布尔值(Boolean)null(空值)和undefined(未定义)数组(Array)对象(Object)函数(Function) 变量

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新

我自己常用的eclipse 快捷键整理

---------------- 我自己改的快捷键: 复制当前行单下一行  ctrl alt n   --------------------- 自带快捷键: 快速定位到一行  CTRL+L 向上(下)移动选中的行:ALT+UP/DOWN ARROW 删除行(Delete Line):CTRL+D CTRL + 1也很有用     ----------