SOFA Weekly | SOFABoot 发布、SOFAJRaft 以及 SOFARPC 内容合辑

2024-01-17 04:48

本文主要是介绍SOFA Weekly | SOFABoot 发布、SOFAJRaft 以及 SOFARPC 内容合辑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

SOFAStack: https://github.com/sofastack

  每周读者问答提炼  

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

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复

1、@陈亚兵 提问:

我想单独使用注册中心 SOFARegistry,可能的服务有 Java 和 Python,SOFARegistry 支持 Python 服务接口的注册吗?

A:SOFARegistry 注册中心是支持各个语言的服务发现和订阅的,目前开源版中只有 Java client。实现其他语言的服务发现和订阅,需要自己实现相关语言的 Registry client。

sofa-bolt-python 也有服务发现和发布,它和 sofa-registry 的发现有什么不同吗?

A:sofa-bolt-python 只做了使用 MOSN 的服务接口的客户端。sofa-registry 是服务端。

SOFARegistry:https://github.com/sofastack/sofa-registry

2、@刘明 提问:

Seata 的 XA 模式做了一个压测,tps=1000,开始报错,ORA-24756:事务处理不存在。看了下数据库global_table,状态是 3。3 是 CommitRetrying , 这说明 phase 1 阶段过了,2 阶段提交报事务不存在。目前 global_table 里有700多条记录,95%是状态3,还有状态1的。

A:应该是一个原因,很可能就是2阶段提交失败了。begin 的你查看下他的分支事务状态是什么。

begin 的分支表里没有数据,可能注册就失败了。

A:是的,有可能,TC 收到了,然后 TM 超时了,我建议你 1000tps 的测试,搞个 TC 集群,就一台可能撑不住。

我想在出错的时候,有个日志轨迹,可以知道数据目前是不是脏的?

A:select for update 或者 update x=x+n 这样写法一般没事。

会不会锁住记录呢?

A:不锁住怎么保证隔离性。这个 for update xa 没提交前会锁住的,这个锁由数据库方自己已经实现了。

是的,那1阶段已经过了,记录会一直锁在那里了吗?

A:二阶段没提交,锁在数据库肯定没释放。不过看起来你应该提交了吧,因为已经提示你事务不存在了。

是的,事务提示不存在,但是数据没有提交。我研究下。

A:可以的,seata-xa 现在还不是特别完善,可以多研究下,发现问题可以提交 PR 来贡献,一起让 XA 更稳定更好。

并发情况下,事务已经提交,TCC 发起 global commit 请求超时导致了 commitRetry,因此事务不再存在,只是 TCC 会一直去重试。这导致了性能下降很快,不断重复已经不存在事务的 commit 动作,使用 Oralce 测试下来耗时很大,MySQL 可能也不会更好。考虑在 RM 端做 xaCommit 的时候,引入一个 Redis 检查 xid 是否已经提交,已经提交返回提交成功。

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

  本周推荐阅读  

  • 基于 RAFT 的生产级高性能 Java 实现 - SOFAJRaft 系列内容合辑

  • 生产级高性能 Java RPC 框架 - SOFARPC 系列内容合辑

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

  SOFA 项目进展  

本周发布详情如下:

发布 SOFABoot v3.4.3 版本,主要变更如下:

  • 新增 endpoint,支持展示启动耗时信息;

  • 升级 Tomcat 版本,修复安全隐患 CVE-2020-11996;

详细发布报告:

https://github.com/sofastack/sofa-boot/releases/tag/v3.4.3

  社区活动预告  

A2M 峰会旨在发现全球互联网领域在人工智能、大数据、互联网架构等领域的创新工程和杰出团队,整合国际最佳技术实践,构建行业案例研究智库,帮助中国企业在人工智能时代成功转型、升级。蚂蚁集团也受邀进行云原生构建之路的专题分享。

分享主题:Dubbo 基于 MOSN 在 Service Mesh 场景下的落地实践

听众收益:

  • 了解落地 Service Mesh 对于整体架构的收益;

  • 了解 MOSN 社区的发展现状和规划;

  • 了解 Dubbo 在各种业务场景和上云发展阶段中如何优雅落地 Service Mesh;

分享时间:2020-09-05 16:50-17:50

活动地点:上海

活动报名:活动详见此条,点击“阅读原文”即可报名

本文归档在 sofastack.tech。

这篇关于SOFA Weekly | SOFABoot 发布、SOFAJRaft 以及 SOFARPC 内容合辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工