SOFA Weekly | 每周精选【6/10 - 6/14】

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

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

640?wx_fmt=png

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

SOFAStack 文档: https://www.sofastack.tech/

SOFAStack: https://github.com/sofastack


  每周推荐阅读   



  每周读者问答提炼  


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

我们会筛选重点问题通过 

" SOFA WEEKLY " 的形式回复


1、@古月 提问:

请问 SOFARPC 在 Docker 内怎么发布服务,怎么让容器外的服务(非同一宿主机)能访问到?

A:注册上去的地址就是映射后的地址。在 application.properties 里设置 com.alipay.sofa.rpc.virtual.host 这个属性。详见:

https://www.sofastack.tech/sofa-rpc/docs/Application-RPC-Config


2、@蒲冬 提问:

关于 SOFAJRaft,leader 什么时候将日志应用于自己的状态机?我看 Raft 规范中,leader 应该是在接收到半数以上 follower 的应答之后才会应用到自身的状态机的。但在 SOFAJRaft 的代码中,我觉得 leader 是在LeaderStableClosure 中直接应用到自身状态机了,但是在 Replicator.onAppendEntriesReturned 中为什么又提交了一次,这个没懂。在代码中何处体现了 leader 是收到半数以上的 follower 应答才应用状态机的?

A:参见 BallotBox.commitAt,在这段代码里会检查每条日志的 Ballot 是否达到多数派 commit( Ballot#isGranted 方法),如果没有,就会终止查找。 找到最小已达到多数派 commit 日志 index 后(也就是 lastCommitedIndex),调用 FSMCaller#onCommitted 应用日志到状态机。


640?wx_fmt=png


另外一个问题,我看 Raft 中的数据都是存储在 LogManagerImpl 的 logsInMemory 中的,如果数据量大的时候,是否会出现内存溢出的情况。从 Raft 规范的角度看,一个新的成员加入时,leader 需要向这个新成员同步全部的数据。如果 leader 的数据量很大,那么这个同步时间是否会很长?从这个角度看,Raft 协议是否适合大量数据的一致性?

A:logsInMemory 是用来作为日志的内存缓存,加速日志的复制和应用,在应用到状态机后就会从内存里卸载。logsInMemory 保存的只是 commit 还没有 apply 的日志,并不是全部日志,日志都是写入 LogStorage 的。

也可以看看这几篇解析:

https://zhuanlan.zhihu.com/p/68052705

https://zhuanlan.zhihu.com/p/68031625


3、@孙靖皓 提问: 

使用Seata的时候,我把客户端都停了,只启动 Server,仍然会触发 RetryRollbacking,复现的话,还没找到规律。

A:因为这个分支没有被回滚掉,会默认进行无限重试,你需要删除 File 或者BD 中的表记录。


修改 server 下 store.mode=db 不起作用,是什么情况?

640?wx_fmt=png

A:启动命令加上--storeMode db


file.conf 里的 store.mode 修改本来也不会生效,是么?

A:启动参数指定了用启动参数的,没指定用 file.conf 的。


4、@程春根 提问:

我有10个微服务,那我要分10个组吗 ?

A:分组的含义就是映射到一套集群,所以你可以配一个分组也可以配置多个。如果你其他的微服务有独立发起事务可以配置多个,如果只是作为服务调用方参与事务那么没必要配置多个。


不知道分组的目的是什么?那不管什么情况我始终就一个分组有没问题?

A:没问题,分组是用于资源的逻辑隔离,多租户的概念。


没问题就好。是不是一个事务中所有的微服务都必须是同一组才行?

A:没有这个要求的。但是不同的分组需要映射到同一个集群上。


你说的集群是指 TC 集群吗?现在 TC 如何集群,我看配置里都是 default。

A:那个名字可以自己取,如果用文件形式你可以写多个地址列表,多台 server 以 DB 方式存储通过 DB 共享数据。如果用注册中心就可以自己发现,注册的时候定义了集群名。


   每周 SOFA 进展  


本周发布详情如下:

1、发布 SOFARPC v5.5.6 , 主要变更如下:

i. 修复 SOFARegistry 场景下地址为空场景下的可能问题

ii. 支持 Ark 隔离, 发布服务时,注册服务类加载器

详细参考发布报告:

https://github.com/alipay/sofa-rpc/releases/tag/v5.5.6


2、发布 SOFABoot v3.1.5 , 主要变更如下:

i. 修复 Banner 字体打印问题.

ii. 升级 SOFARPC Starter 版本至 6.0.3

详细参考发布报告:

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


  与 SOFA 相遇  


640?wx_fmt=png

GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)是面向架构师、技术负责人及高端技术从业人员的年度技术架构大会,是中国地区规模最大的技术会议之一。 

本次,蚂蚁金服受邀带来主题分享,点击“阅读原文”即可了解更多,欢迎与我们探讨


时间:6 月 23 日

地点:中国 · 深圳


主题:《蚂蚁金服 Service Mesh 落地实践与挑战》

讲师:蚂蚁金服技术专家 石建伟(花名:卓与)

你将收获:

1. Service Mesh 落地带来的业务价值 

2. 传统 SOA 应用如何向 Service Mesh 方向演进 

3. 了解我们演进过程中的各种坑如何填补

主题详细介绍:

http://giac.msup.com.cn/Giac/schedule/course?id=13816


主题:《蚂蚁金服大规模分布式事务实践和开源介绍》

讲师:蚂蚁金服技术专家 张森(花名:绍辉)

你将收获:

1. 分布式事务的背景和理论基础
2. 开源分布式事务框架 Seata 讲解
3. 分布式事务在蚂蚁生产的实践经验

主题详细介绍:

http://giac.msup.com.cn/Giac/lecturer/teacher?id=7133


640?wx_fmt=png

WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.alipay.sofa.jraft.util.internal.UnsafeUtil (jar:file:/E:/service/nacos-server-2.2.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/jraft-core-1.3.12.jar!/) to field java.nio.Buffer.address WARNING: Please consider reporting this to the maintainers of com.alipay.sofa.jraft.util.internal.UnsafeUtil WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 2023-07-15 22:58:51,129 WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'instanceOperatorClientImpl' defined in URL [jar:file:/E:/service/nacos-server-2.2.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.2.3.jar!/com/alibaba/nacos/naming/core/InstanceOperatorClientImpl.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'clientOperationServiceProxy' defined in URL [jar:file:/E:/service/nacos-server-2.2.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.2.3.jar!/com/alibaba/nacos/naming/core/v2/service/ClientOperationServiceProxy.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistentClientOperationServiceImpl' defined in URL [jar:file:/E:/service/nacos-server-2.2.3/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.2.3.jar!/com/alibaba/nacos/naming/core/v2/service/impl/PersistentClientOperationServiceImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.core.v2.service.impl.PersistentClientOperationServiceImpl]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\librocksdbjni15037951375079649142.dll: %
07-16
内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值